无法压缩回收的位图 - java.lang.IllegalStateException错误

时间:2017-07-01 17:49:47

标签: android

我在logcat中遇到以下错误,应用程序崩溃了。我尝试了很多方法,但似乎没有任何工作。所以期待提出建议。

AE  Z̧uwayhir   23.28333    53.2

以下是我收到错误的函数。

Process: com.dragedy.playermusic.debug, PID: 8073
                                                                                 java.lang.IllegalStateException: Can't compress a recycled bitmap
                                                                                     at android.graphics.Bitmap.checkRecycled(Bitmap.java:346)
                                                                                     at android.graphics.Bitmap.compress(Bitmap.java:1005)
                                                                                     at com.dragedy.playermusic.lyricspack.services.NotificationListenerService.saveArtwork(NotificationListenerService.java:401)
                                                                                     at com.dragedy.playermusic.lyricspack.services.NotificationListenerService.onClientMetadataUpdate(NotificationListenerService.java:382)
                                                                                     at android.media.RemoteController.onNewMetadata(RemoteController.java:802)
                                                                                     at android.media.RemoteController.access$900(RemoteController.java:56)
                                                                                     at android.media.RemoteController$EventHandler.handleMessage(RemoteController.java:684)
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:110)
                                                                                     at android.os.Looper.loop(Looper.java:193)
                                                                                     at android.app.ActivityThread.main(ActivityThread.java:5292)
                                                                                     at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                     at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
                                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
                                                                                     at dalvik.system.NativeStart.main(Native Method)

1 个答案:

答案 0 :(得分:0)

有人已经在位图上调用了回收。回收的位图释放了所有内存,因此无法压缩(他们已经忘记了他们的数据)。在您的代码或您正在使用的任何库中查找要回收的调用,并尝试找出调用它的原因/是否需要删除/如果您可以在此之前进行压缩。