我正在研究在Recycler View中渲染自定义视图(heavy operation as it has deep hierarchy and many child view's
)。
由于我在快速滚动时RecyclerView经常滞后。即使在尝试了许多优化作为Rendering Block的UI(Main)线程之后。
因此,为解决此问题,我尝试从View创建位图(第一次并对其进行缓存),然后将其渲染到RecyclerView上(使用ImageView)。
现在,一旦将所有视图都缓存为位图,滚动就很平滑了。
问题: 由于创建了BitMap,我遇到了OOM(内存不足)崩溃的情况。
java.lang.OutOfMemoryError:无法分配2073612字节 分配891786个可用字节和870KB直到OOM在 dalvik.system.VMRuntime.newNonMovableArray(本机方法)位于 android.graphics.Bitmap.nativeCreate(Native Method)在 android.graphics.Bitmap.createBitmap(Bitmap.java:946)在 android.graphics.Bitmap.createBitmap(Bitmap.java:917)位于 android.graphics.Bitmap.createBitmap(Bitmap.java:884)
我现在要分析哪种方法最好?
需要帮助: