Тема: Багатопоточність в Андроїді
Ще одне питання. Яким чином в Андроїді реалізована багатопоточніть? Чи якісне це рішення і чи добре воно працює?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Android/iOS, програмування для мобільних пристроїв → Багатопоточність в Андроїді
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Ще одне питання. Яким чином в Андроїді реалізована багатопоточніть? Чи якісне це рішення і чи добре воно працює?
багатопоточність мало хто значить використовує
Всі стандартні інструменти Java + Service, IntentService, AsyncTask а також найкращий підхід - RxJava. Рекомендую книги Asynchronous Android Programming, Java Concurrency in Practice та Reactive Programming with RxJava
+1 RxJava
https://github.com/Froussios/Intro-To-RxJava
ось лінк на дуже корисну книжку/туторіали по RxJava 1.
Звісно RxJava 1 дещо застаріла ібо існує RxJava 2, але нічого кращого я не знайшов і, як на мене, маючи навички у RxJava 1 вам не має бути дуже важко перейти на RxJava 2.
P.S. для Андроїда є extension RxAndroid з додатковими Scheduler-ами і тп.
багатопоточність мало хто значить використовує
але всі рекрутери вимагають good knowledge of Android multithreading
щодо RxJava 1.x то він поки не deprecated, ось що на гітхабі знайшов
Timeline plans for the 1.x line:
June 1, 2017 - feature freeze (no new operators), only bugfixes
March 31, 2018 - end of life, no further development
Як можна не використовувати багатопоточність в Android, якщо в головному потоці UI забороняється робота з Net чи завантаження файлів, взагалі люба частина програми , починаючи з бізнес логіки, і ті , які використовують операції, що забирають певний час, критичний для UI, повинні бути винесені в окремі потоки.
Інформацію можна передавати, використовуючи як Pipe канали, блокуючі та неблокуючі черги з Java, так і механізм Handler - Looper з або Message, або Runnable задачами суто від Android. Останній дуже зручний для передачі як інформації (Message), так і здійснення певних дій (Runnable) як на UI потоці, так і між потоками.
Важливо не забувати при запуску робочого потоку виставляти пріоритет для Background, бо Kernel надає за замовчанням всім новим потокам найвищий пріоритет, який повинен бути тільки в UI потоку.
Книжку я б порекомендував Efficient Android Threading by Anders Göransson. Чудова книжка для Android розробника.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися