После относительно простого перехода к простому кодированию приложений я хотел бы понять более сложные отношения между различными концептуальными компонентами в Android.
В частности, я хотел бы понять, что такое Runnable, Looper и Handler.
Как вы могли заметить, вышеупомянутые 3 термины являются ссылками на официальную документацию в http://developer.android.com, поэтому мой вопрос может показаться странным, поэтому позвольте мне объясните: эта документация может быть идеальной для тех, кто уже понимает, как все работает на Android, но мне нужно что-то, что последовательно проходит через основы, основываясь на предыдущих концепциях.
Подводя итог, мне нужен какой-то учебник по основным внутренним строительным блокам Android. Вы можете порекомендовать один?
Подробная статья Безболезненная Threading, вероятно, является вашим лучшим ресурсом для потоковой передачи на Android.
Мораль истории состоит в том, что AsyncTask
упрощает многопоточность.
Runnable - это основной Java-интерфейс - он представляет собой часть кода, которая может быть запущена (обычно по определенному потоку).
Handler - это класс Android, который отвечает за публикацию Runnable\Message, чтобы конкретный поток запускал или обрабатывал их (в определенном порядке).
Looper - это структура, в которой содержится очередь Runnable\Message, из которой будет считываться HandlerThread.