仅在6.0设备中发生,堆栈跟踪如下。我通过设置BitmapFactory.Options.inSampleSize来缩小图像,因此我的代码是缩小png文件。那是什么问题?
回溯:#00 pc 000000000002c7d8 /system/lib64/libpng.so(sub_filter_2bpp_neon64 + 136)#01 pc 0000000000012da4 /system/lib64/libpng.so(png_read_row + 440)#02 pc 0000000000013048 /system/lib64/libpng.so(png_read_rows + 96)#03 pc 000000000028c024 /system/lib64/libskia.so(_ZN17SkPNGImageDecoder8onDecodeEP8SkStreamP8SkBitmapN14SkImageDecoder4ModeE + 1692)#04 pc 000000000027f70c /system/lib64/libskia.so(_ZN14SkImageDecoder6decodeEP8SkStreamP8SkBitmap11SkColorTypeNS_4ModeE + 152)#05 pc 00000000000f6140 /system/lib64/libandroid_runtime.so#06 pc 00000000000f6a78 /system/lib64/libandroid_runtime.so#07 pc 0000000003497668 /system/framework/arm64/boot.oat
我有一个Legacy项目,在第一个版本发布后,一些用户开始崩溃。我花了三天时间进行搜索。当我拿到问题设备时,很快就发现了问题。原来,我在错误的地方查看,因为该项目有很多本地库。
就我而言,问题出在资源中的PNG文件错误。此PNG用于XML标记中的阴影。
<View android:layout_width="fill_parent"
android:layout_height="8dp"
android:background="@drawable/df_tab_bar_shadow"/>
图片为16位。我换成了32位,问题就解决了