android crash /system/lib/libhwui.so

后端 未结 2 1393
走了就别回头了
走了就别回头了 2020-12-16 17:37

there is a crash i have got sometimes , it seems a jni crash , but my application have not any jni code . it\'s is a graphic application , and will load some pictures .

相关标签:
2条回答
  • 2020-12-16 18:22

    I remember seeing a crash like this and reading about a bug with 4.0.x in particular where removing a hardware layer in an AnimationListener (onAnimationEnd()) would cause this sort of crash. The solution was to post the layer transition as a Runnable. For example:

    @Override
    public void onAnimationEnd (Animation animation) {
        //This will cause a crash
        setLayerType(LAYER_TYPE_NONE, null);
    }
    
    @Override
    public void onAnimationEnd (Animation animation) {
        //This will work successfully
        post(new Runnable() {
            @Override
            public void run () {
                setLayerType(LAYER_TYPE_NONE, null);
            }
        }
    }
    
    0 讨论(0)
  • 2020-12-16 18:22

    I know this is an old post but I've been struggling with a similar crash for a long time and just recently found root cause. Here are a few more tidbits on my crash:

    • crash can be in libhwui.so, libskia.so, libutils.so, or libc.so
    • app is not using NDK
    • strong correlation to devices. Samsung S6/S7 and Nexus 5 had a lot of instances. Never saw the crash on an old Kyocera

    Since my app also does not have native code the stack dump/tombstone file didn't reference any of my code. Through adhoc testing, I narrowed the source of the problem to a custom ProgressBar in the app.

    The ProgressBar leveraged a TimerTask under the hood! Thankfully I had recently bumped into this post while researching something else.

    Changed the code to a handler and haven't seen the crash since! Hope this helps someone else.

    0 讨论(0)
提交回复
热议问题