我有一个应用程序,其中第一个活动显示加载动画,并且它似乎显着增加了内存使用 - 使用动画,应用程序使用大约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();
}
}
似乎在导航到下一个活动时完成活动并不重要,动画的内存使用率仍然高得多。
如何在远离活动或销毁活动时释放此内存?