Я вычислил для android. Я стараюсь быть осторожным в отношении утечек памяти, потому что моя программа имеет дело с большим количеством данных, и сборщик мусора, кажется, очень занят.Хорошая практика, чтобы избежать утечки памяти
мне было интересно, есть ли разница Разногласия между:
for (int i=0;i<200;i++)
{
MyObject myobject = new MyObject(i,i+1);
myobject.writeToDatabase();
}
и
MyObject myobject=null;
for (int i=0;i<200;i++)
{
myobject = new MyObject(i,i+1);
myobject.writeToDatabase();
}
и (избегая использовать конструктор)
MyObject myobject=new MyObject(0,1);
myobject.writeToDatabase();
for (int i=1;i<200;i++)
{
myobject.setFirstValue(i);
myobject.setSecondValue(i+1);
myobject.writeToDatabase();
}
спасибо !!
Если в самой операционной системе не обнаружена ошибка, ни одно из перечисленных выше не вызывает утечки памяти. Утечка памяти - это когда указатель на блок выделенной памяти отбрасывается до освобождения памяти. Это возможно на C или C++, но не на таких языках, как Java и C#, которые делают сборку мусора для вас. В любом случае, как говорит @ Arno-Sluismans, третий вариант является наиболее эффективным. – Stochastically
@ Напрасно, спасибо за этот вклад, я добавил это к моему ответу. –