我从大图像创建位图可绘制对象,当时发生 OutOfMemory 错误。Activity.onLowMemory() 方法应该被调用,但实际上它不是被框架调用的。
是否有任何解决方案,或者是否有任何其他方法可以在 android 中捕获 OutOfMemory 错误?
我从大图像创建位图可绘制对象,当时发生 OutOfMemory 错误。Activity.onLowMemory() 方法应该被调用,但实际上它不是被框架调用的。
是否有任何解决方案,或者是否有任何其他方法可以在 android 中捕获 OutOfMemory 错误?
这不是 onLowMemory 的工作方式。当整个系统内存不足时调用它,而不是你的应用程序,所以你不能用它完全避免 OOM。更多细节在这里。
另请参阅 Romain Guy 的博客文章,了解有关内存泄漏的更多信息:链接
至少有数百个问题如何在 Stackoverflow 上处理位图:
Android Bitmap Memory Leak, 怎么办
Bitmap, Bitmap.recycle(), WeakReferences, and Garbage Collection
Android 自定义视图 Bitmap 内存泄漏