Android OOM when creating bitmap from view -
i creating bitmap of layout. working fine in of devices in few samsung devices, throwing oom. below code using convert layout bitmap
private void enableviewcache() { viewtoconvert.setdrawingcacheenabled(true); viewtoconvert.measure(measurespec.makemeasurespec(0, measurespec.at_most), measurespec.makemeasurespec(0, measurespec.at_most)); viewtoconvert.builddrawingcache(true); } public bitmap getbitmapfromview() { bitmap b = bitmap.createbitmap(viewtoconvert.getdrawingcache()); viewtoconvert.setdrawingcacheenabled(false); viewtoconvert.destroydrawingcache(); bytearrayoutputstream bytes = new bytearrayoutputstream(); b.compress(bitmap.compressformat.jpeg, 100, bytes); return b; }
i getting oom @ bitmap.createbitmap call. have checked of oom bitmap issues in stackoverflow mentioned using sampling , dont know how implement in usecase.
i'm not sure you're trying accomplish, in cases don't want extract bitmap
view
. want maintain bitmap on different place (lru cache maybe?). guess view's drawing cache issue.
anyway, problem way you're handling large bitmap. read article know how sample, scale down, , other techniques don't oom.
Comments
Post a Comment