2011-03-24 61 views
0

在Android平台上开发相当复杂的应用程序(例如访问文件,数据库,网络连接等外部资源)时是否需要处理垃圾收集?或者我应该让Android始终关注GC吗?Android中的手动垃圾收集是否必要?

那么垃圾收集器是否可以让一名Android程序员免除所有释放内存的负担?

如果没有,那么有人可以用一个实际的例子来解释为什么这样吗?

回答

1

总的来说,GC帮助程序员避免了许多问题,但它不是万能的。作为使用GC'ed系统程序员,你必须在分配的生命周期方面担心两两件事:

  • 删除引用(例如设置变量为null)对象时,不再需要。如果不这样做可能会导致内存泄漏。

  • 显式管理非内存资源,如打开的文件。代表这些事物的对象通常会在对象获得GC时释放资源,但作为程序员,您可能更清楚资源何时不需要。因此,在InputStream上显式调用close()是最符合您的最佳利益的,而不是让GC在不再需要很长时间后清理它。