Я наткнулся на ниже ApplicationManager
класс в чей-то код. Этот класс в основном ведет список всех запущенных действий.Каково использование списка всех видов деятельности в приложении для Android?
Я проверил тщательно и обнаружили, что этот класс используется только в 2 ниже обстоятельств:
- в
oncreate()
каждыхactivity
:ApplicationManager.getInstance().addActivity(this);
добавить деятельность начала списка. ApplicationManager.getInstance().applicationExit();
призван завершить каждое действие в списке, когда приложение закрыто.
Итак, вот мой вопрос ... Это действительно необходимо? Что делать, если я этого не делаю, что является следствием? Будет ли активность в приложении по-прежнему занимать память после закрытия приложения?
Спасибо!
public class ApplicationManager {
private List<Activity> activityList = new LinkedList<Activity>();
private static ApplicationManager appManager;
/**
* singleton
*/
public static ApplicationManager getInstance(){
if(appManager == null){
synchronized (ApplicationManager.class) {
if(appManager == null){
appManager = new ApplicationManager();
}
}
}
return appManager;
}
/**
* add Activity
*/
public void addActivity(Activity activity){
activityList.add(activity);
}
/**
* application exit
*/
public void applicationExit(){
if(WPApplication.DEBUG){
Log.i("applicationExit", "alist:" + activityList.size());
}
while(activityList.size() > 0){
if(WPApplication.DEBUG){
Log.i("applicationExit", "remove--");
}
activityList.get(0).finish();
activityList.remove(0);
}
}
}
Нет его не требуется. Класс приложения будет примером Singleton для вашего приложения. Вы можете получить весь текущий список операций с помощью диспетчера пакетов. –
Приложение может течь память во время работы, но когда оно закрыто, память возвращается ОС. Единственной «памятью, используемой приложением» после закрытия, может быть ПЗУ в файле журнала Android. – hdl