我有一个Android 3.0及更高版本的应用程序,我必须显示一些大的位图。位图已经缩放到必须显示的大小。我已经在清单文件中使用了largeheap=true
,但我仍然遇到OutOfMemory
错误。我现在没有在developer.android的displaying bitmaps efficiently中提及LRU缓存。我有以下疑问。
我应该尝试捕捉错误并完成剩下的工作吗?
我是否必须使用bitmap.recycle()功能。在android 3.0之后,没有必要使用bitmap.recycle(),因为内存未在本机中分配,并且如上所述,此函数释放本机对象。
我应该使用caching bitmaps中提及的LRU缓存机制吗?它不会增加我的应用程序的内存消耗,因为我将位图存储在缓存中?
是否有任何适当的示例或体系结构来显示解释LRUcache机制的位图。阅读网上的所有理论很多令人困惑。
BitmapFactory.Options的inBitmap字段是否也有助于减少内存?
我的应用程序存在内存限制,我希望它尽可能少用内存。请指教。