Во-первых, я сначала опубликовал это в группе Google Android, но она модерировалась, и я не уверен, сколько времени потребуется, чтобы появиться там, поэтому надеюсь, что кто-то здесь может помочь.
Я создал простое приложение с ListView, следующим за ListActivity.
примеры, которые я нашел в сети.
В приложении есть 2 действия, первое из которых имеет кнопку для создания
второй. Когда я нажал кнопку закрытия на втором занятии, я бы
как это, чтобы освободить свою память (или, по крайней мере, позволить ему быть мусором
собраны). В настоящее время он никогда не выйдет.
Я, должно быть, делаю что-то не так, потому что MyListActivity никогда
получает освобождение. Может кто-нибудь сказать мне, если я делаю что-то не так с
как мои действия создаются / уничтожаются? или если мое использование
ListView не так?
Спасибо.
Мое приложение в виде почтового индекса - http://www.mediafire.com/?l26o5hz2bmbwk6j
Снимок экрана Eclipse MAT, показывающий, что список активности никогда не выпускается
память - www.mediafire.com/?qr6ga0k
public class MyListActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listlayout);
ListAdapter ada = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, GENRES);
setListAdapter(ada);
}
@Override
public void onDestroy()
{
super.onDestroy();
System.gc();
}
public void ClickHandler(View target)
{
switch (target.getId())
{
case R.id.LL_Btn1:
finish();
break;
}
}
private static final String[] GENRES = new String[] {
"Action", "Adventure", "Animation", "Children", "Comedy", "Documentary", "Drama",
"Foreign", "History", "Independent", "Romance", "Sci-Fi", "Television", "Thriller"
};}
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void ClickHandler(View target)
{
switch (target.getId())
{
case R.id.M_Button01:
Intent intent = new Intent();
intent.setClassName(MyListActivity.class.getPackage().getName(), MyListActivity.class.getName());
startActivity(intent);
break;
}
}}