4

最初のアクティビティが読み込みアニメーションを表示するアプリケーションがあり、メモリ使用量が劇的に増加しているように見えます.アニメーションを使用すると、アプリは約 30MB を使用し、アニメーションを使用しない場合は 10MB 未満です。

関連するコードは次のとおりです。

public void onCreate(Bundle savedInstanceState) 
{
     super.onCreate(savedInstanceState);
     setContentView(R.layout.load_application);
     StartLoadingAnimation();
}

private void StartLoadingAnimation()
{
    frameAnimation = new AnimationDrawable();
    for(int i = 1; i <= 64; i++)
    {
        String index = i < 10 ? "00" + i : "0" + i; 
        int frameIdentifier = getResources().getIdentifier("loading_icon_" + index, "drawable", getPackageName());
        frameAnimation.addFrame(getResources().getDrawable(frameIdentifier), 70);
    }

    ImageView imageCafeLoading = (ImageView) findViewById(R.id.ImageCafeLoading);
    imageCafeLoading.setBackgroundDrawable(frameAnimation);
    imageCafeLoading.post(new LoadingImageStarter());
}

/** Starting the loading image animation */
private class LoadingImageStarter implements Runnable 
{
       public void run() 
       {
            frameAnimation.setOneShot(false);
            frameAnimation.start();
       }
}

次のアクティビティに移動するときにアクティビティを終了するように見えますが、アニメーションではメモリ使用量が依然としてはるかに高くなります。

アクティビティから離れたり、破棄したりするときに、このメモリを解放するにはどうすればよいですか?

4

0 に答える 0