我TextView
在活动 1 中有 5 - 6 个,如下所示:
textChallenge = new TextView(context.getApplicationContext());
textChallenge.setTypeface(fontJoan);
textChallenge.setTextColor(Color.WHITE);
textChallenge.setText("99");
textChallenge.measure((int)Define.getScreenWidth(), (int)Define.getScreenHeight());
textChallenge.layout(0, 0, 200, 200);
textChallenge.setTextSize(TypedValue.COMPLEX_UNIT_PX, 20);
textChallenge.setDrawingCacheEnabled(true);
textChallenge.buildDrawingCache();
我有 textChallenger、textUser、textBestScore 等。当我开始活动 2 并返回
活动 1. 我使用 . 检查我的分配(Debug.getNativeHeapAllocatedSize() / 1048576L)
。
我发现每次回到活动 1 时分配大小都会增加一点。
我怎么能想释放这些TextView
分配?我尝试setText("")
但我得到了
NullPointerException
. 我必须以编程方式创建,所以我不能使用findViewByID
.
我尝试textChallenge.getDrawingCache().recycle(); textChallenge = null;
。
但是,我的堆分配大小仍在增加。请给我一些建议,谢谢。