我正在用android编写一个资金经理,迈出第一步。它将数据存储在SQLite数据库中,而我的方法主要是程序性的,而我正在创建它。
这意味着:当我创建图表或摘要时,它看起来像这样:
嗯,这很有效,但我现在正在学习更多oop,我想重建我的应用程序。 我并不完全了解移动设备的内存限制,这就是我创建此主题的原因。
我提出了两个想法。请告诉我,你认为哪一个更好(或者如果它完全错误的话,以某种方式纠正我的方法)。
让我们像以前一样使用创建图表或列表视图的示例。现在我这样做:
这将需要比我的程序方法更多的代码,但是使用它应该更加简单,并且代码将具有更多“专业”的外观(如果我错了,请纠正我)。
然而,我得到了这个困境。假设我正在根据表'费用'中的数据创建一组对象。我使用它们来展示我的某个活动的图表或列表视图。关闭活动后,我不再需要它们了。 我该怎么办才能让垃圾收集器扔掉它们。有什么特别的吗?(是的,我是垃圾收集器的新手)。
还有第二个oop方法,但我知道它需要大量内存,我不确定它是否是一个好主意。所以,再回到这个例子:
听起来很傻,是吧? 我不确定垃圾收集器什么时候会处理掉所有这些对象,如果最好一次垃圾邮件内存那么多的数据。
感谢您对此提出任何意见。
答案 0 :(得分:0)
两种解决方案都有效,但第一种解决方案更好,因为一旦它们超出范围,对象就会被标记为GC,这比将它们保留供以后使用时要早得多。一旦对象被GCed,他们占用的内存就变得可用。