在我的名片阅读器android应用程序中,我得到了高分辨率图像/大尺寸图像,当我旋转该图像时,它会花费更多时间,有时会显示outOfMemory异常。因此,请帮助我在C/C++本地代码中旋转图像位图
我使用以下代码进行图像旋转。
private Bitmap rotateBitmap(Bitmap source, int angle) {
Matrix matrix = new Matrix();
matrix.postRotate(angle);
Bitmap createBitmap = Bitmap.createBitmap(source, 0, 0,
source.getWidth(), source.getHeight(), matrix, true);
source.recycle();
return createBitmap;
}
`
图像旋转只发生在本地代码中,所以需要重写同样的东西,你需要改进你的实现,如果你共享一些代码
看看OutOfMemoryError的解决方案:stackoverflow中的位图,你可能会在那里找到一些东西。如果你发现了什么,请发布你的答案(我真的很想知道你是如何处理的:)
我在谷歌上搜索时发现了一些很好的解释,比如内存外异常位图安卓
以及一个关于在缩放图像时避免outofmemroyexception的教程