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