Kitek's Page Dziennik programisty / webdeveloper'a

Listy zadań w Gist

Uwielbiam wszelkiego rodzaju listy zadań i narzędzia do ich tworzenia, zarządzania. Od około trzech miesięcy z powodzeniem wykorzystuje do tego gist.github.com i język Markdown. Dzięki jego notacji możemy tworzyć listy posiadające checkbox’y - idealnie pasujące do prostych ToDo.

Moja lista:
- [ ] zadanie pierwsze
- [ ] zadanie drugie

Lista Todo

Dodatkową zaletą korzystania z gist’ów jest przechowywanie każdej zmiany jako osobnej rewizji.

Android optymalizacja UI

Dwie bardzo fajne prezentacje przedstawiające kilka wartych zapamiętania technik optymalizacyjnych dla Android’a.

ActivityManager

W pewnych przypadkach zachodzi potrzeba sprawdzenia czy w naszej aplikacji znajdują się inne “działające” Activity niż to, które obecnie jest na froncie. Można to osiągnąć za pomocą klas ActivityManager i RunningTaskInfo.

ActivityManager m = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> taskList = m.getRunningTasks(10);
if (taskList.get(0).numActivities == 1 && taskList.get(0).topActivity.getClassName()
		.equals(this.getClass().getName())) {
	// Tylko jedno activity, te które obecnie jest na froncie
}

Możliwe jest również pobranie szerszej informacji:

Iterator<RunningTaskInfo> itr = taskList.iterator();
while (itr.hasNext()) {
	RunningTaskInfo runningTaskInfo = (RunningTaskInfo) itr.next();
	// Informacje
	int id = runningTaskInfo.id;
	CharSequence desc = runningTaskInfo.description;
	String topActivity = runningTaskInfo.topActivity.getShortClassName();
	int numOfActivities = runningTaskInfo.numActivities;
}

Do poprawnego uruchomienia powyższych przykładów wymagane jest zdefiniowania uprawnienia GET_TASKS.

<uses-permission android:name="android.permission.GET_TASKS"/>