【问题标题】:OnePlus Nord devices with Android 10 are painful! ????装有 Android 10 的 OnePlus Nord 设备很痛苦! ???
【发布时间】:2021-07-12 05:22:18
【问题描述】:

我们正在开发一个企业应用程序,自项目启动以来,我们只在 OnePlus Nord 设备中面临不断崩溃的问题。

我们尝试在我们的设备中重现,但它没有被重现,但 Firebase Crashlytics 总是在实时应用程序中报告它。描述为:

cpe.java 第 11 行

com.oneplus.theme.cpe.onViewAttachedToWindow

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.removeOnAttachStateChangeListener(android.view.View$OnAttachStateChangeListener)' on a null object reference
       at com.oneplus.theme.cpe.onViewAttachedToWindow(cpe.java:11)
       at android.view.View.dispatchAttachedToWindow(View.java:20272)
       at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3455)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2273)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1960)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8228)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
       at android.view.Choreographer.doCallbacks(Choreographer.java:1041)
       at android.view.Choreographer.doFrame(Choreographer.java:953)
       at android.view.Choreographer$FrameHandler.handleMessage(Choreographer.java:1163)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loop(Looper.java:214)
       at android.app.ActivityThread.main(ActivityThread.java:7711)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

在这个阶段,由于它在所有其他设备上运行良好,我们无法确定任何可能导致此问题的代码。

据许多 OnePlus Nord 用户报告,此问题使我们的无崩溃百分比显着下降!如何解决这个问题?

【问题讨论】:

  • 它看起来不像是 OnePlus 特有的错误。发布您的代码?
  • @OhhhThatVarun 实际上很难查明代码。我们有一个父 HomeActivity(带有 3 个导航选项卡),用户可以从中导航到多个位置。Crashlytics 提到的最后一个活动是在 HomeActivity本身..这很模糊!我们甚至无法复制这个! Crashlytics 仅报告 OnePlus Nord 设备的所有崩溃,因此我们消除了其他设备上的可能性..
  • 您希望我在不查看代码的情况下帮助您进行调查?

标签: android crash crashlytics android-10.0 oneplusone


【解决方案1】:

我认为这是一些与视图相关的问题。 这就是说您在空视图对象上使用侦听器。因此,请检查您是否先获取视图,然后再应用侦听器。 您可以使用 GlobalLayoutListener 来检查视图是否已完成绘制。

yourView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override
public void onGlobalLayout() {
  yourView.getViewTreeObserver()
                    .removeOnGlobalLayoutListener(this);
    //Your logic here (You can Put the OnAttachStateChangeListener here)
 }
});

【讨论】:

    猜你喜欢
    • 2014-08-18
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多