关于内存泄漏和正确的对象管理(Android / Java)

时间:2014-07-03 20:44:00

标签: android memory-management memory-leaks resources

在Android(Java)中处理对象的正确方法是什么?

我的意思是,假设我有一个 Splashscreen 类,然后我从这个类中创建一个对象。类似的东西:

SplashScreen mySplash = new SplashScreen();

然后,在我的 onCreate 方法中,显示此启动画面,如下所示:

loading_dialog.setContentView(mySplash);
loading_dialog.show();

....在启动画面中我创建了位图。

一旦所有内容都加载完毕,我终于摆脱了启动画面:

  loading_dialog.dismiss();

因此,不再需要启动画面。

现在处理这个冗余对象的正确方法是什么?

我应该做的事情如下:

mySplash.myBitmap.recycle();
mySplash.myBitmap = null;
mySplash = null;

或者只是

mySplash = null;

如果我这样做,是否意味着mySplash(Bitmaps等)中的所有内容也将设置为null?

不确定上述哪一项是必需的,或者确实,如果两者都不是一个好主意。目前,我没有做任何事情,我确定不对。

此外,这是相关的,如果我还想在用户按下' home'然后重新启动应用程序?如果我已经摆脱它,那我就麻烦了。

很高兴任何建议。

0 个答案:

没有答案