【发布时间】:2016-06-16 06:56:40
【问题描述】:
我在画布上绘制背景活动时遇到问题(所有显示尺寸的背景)应用程序因 OutOfMemoryError 而崩溃。
我尝试使用 recycle(),如果我到达了回收位图的启动活动,我会将这段代码放入其中。
private void RecyklGO(Bitmap bitmap,Bitmap bitmap2) {
bitmap.recycle();
bitmap2.recycle();
}
但我在 androidstudio 中观看 Memory 并没有看到变化。
接下来我执行步进程序,我看到了,.recykle 没有运行。
我想删除告诉游戏结束的位图,如果用户点击再次播放我想删除这个位图,因为我想放置背景。 (activity在Canvas上,所以都写在上面了。没有switch activity,只重写canvas。)
感谢您的任何想法。
_____________ 更多代码_________________-
bcgGO = BitmapFactory.decodeResource(getResources(), R.drawable.bcg_go);
bcgGO = Bitmap.createScaledBitmap(
bcgGO, (int) (srk ), (int) (vsk), false);
canvas.drawBitmap(bcgGO, srk / 5, vsk / 4.2F, paint);
变量 srk 和 vsk 是 Bitmap.createScaledBitmap 行崩溃应用程序上显示的大小。 在这个活动中没有位图。
【问题讨论】:
-
输入太少,请分享您的最大代码,以了解内存增加的方式和位置。
-
我确实把代码放在了应用崩溃的地方。还是会把应用中的所有代码放在哪里?
-
最好至少共享负责增加内存的类或所有代码,以便任何人都能找到确切的问题。
标签: java android memory bitmap