在我的应用程序中没有做任何事情的情

时间:2016-06-03 08:27:41

标签: java android memory ram allocation

当我启动我的应用程序时,我在一些TextViews中设置了几个文本和字体,我正在设置内容视图。当我查看RAM使用情况时,它会线性增长:enter image description here

分配显示许多导致大量RAM使用的相同线程: enter image description here enter image description here

有没有人可以告诉我为什么RAM使用量会线性变化以及线程中发生了什么。这是应用程序启动时调用的代码。

@Override
protected void onCreate(Bundle savedInstanceState) {

    // remove title
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_menu);

    setTypeface(R.id.rl_root_main_menu);

    if(levelPattern!=null)
        load();    // converts data from Json String

    TextView tvScore =(TextView)(findViewById(R.id.text_score_points));
    tvScore.setText(String.valueOf(score));

}

public void setTypeface(int layout){

    final Typeface font = Typeface.createFromAsset(getApplicationContext().getAssets(), "fonts/ikaros_light.otf");
    for (int i = 0; i < getTextViews(layout).size(); i++) {
        getTextViews(layout).get(i).setTypeface(font);
    }
}


public  ArrayList<TextView> getTextViews(int layout) {
    RelativeLayout rl = (RelativeLayout) (findViewById(layout));

    ArrayList<TextView> textViewList = new ArrayList<TextView>();
    ArrayList<Integer> RelativeLayoutList = new ArrayList<Integer>();

    for (int i = 0; i < rl.getChildCount(); i++) {
        if (rl.getChildAt(i) instanceof TextView)
            textViewList.add((TextView) rl.getChildAt(i));
    }
    return textViewList;

}

提前致谢。

0 个答案:

没有答案