[英]Scope and destruction of objects in Java and Android
在我的Android應用程序的首次啟動(安裝后)中,我創建了將近1000個對象,然后通過greenDAO ORM將它們保存在SQLite數據庫中。 我是Java編程的新手,我想問一下是否可以通過放在方括號中以通過垃圾收集器調用對象銷毀來獲得更好的性能。
代碼是:
Foo foo1 = new Foo();
Foo foo2 = new Foo();
Foo foo3 = new Foo();
Foo foo4 = new Foo();
.
.
.
Foo foo1000 = new Foo();
通過作用域銷毀內存中對象的想法是:
{
Foo foo1 = new Foo();
Foo foo2 = new Foo();
}
{
Foo foo3 = new Foo();
Foo foo4 = new Foo();
}
{
.
.
.
Foo foo1000 = new Foo();
}
所以我的想法是,垃圾收集器在通過每個括號后立即將對象從內存中釋放出來。 如果這不是正確的方法,那么在這種情況下,您對提高性能有何建議?
就您而言,如果您不需要同時保存類的多個實例,則最好創建一個對象並重復使用1000次。
Foo my_foo = new Foo();
for(int i = 0; i < 1000; i ++){
my_foo.setValue(i);
saveToDB(my_foo);
}
如果總是創建相同的1000個對象,則可能需要使用預先填充的數據庫來分發應用程序。 有一個很好的SQLiteAssetHelper庫可以做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.