Разработка под android для веб-программиста — с чего начать?
==============================================================

 Более пяти лет я являюсь веб-разработчиком, в последнее время в основном это back-end на PHP.  

Знаю и понимаю шаблоны проектирования, различные подходы к разработке, работаю с системами контроля версий и т.д.  

В принципе спокойно читаю java-код в тех же примерах реализации классических шаблонов проектирования.  

В данный момент я заинтересовался разработкой мобильных приложений под andoid, первым делом начал штудировать официальную документацию, поставил andoid studio и запустил hallow world из примеров.  
  

Смута настигла меня после изучения требований к разработчикам в вакансиях на позиции мобильных разработчиков, в частости - java memory model и вообще все, что относится к многопоточности.  

В комментариях к статьям натыкался на обсуждения, например, различного поведения приложения при том же развороте экрана - насколько я понял, в данном примере происходит переинициализация activity, которая является основным классом приложения, вследствие чего возникает много тонкостей, связанных с работой с потоками.  

Понял, что в плане теоретической подготовки до спокойного программирования с периодическим изучением мануалов мне далеко, в связи с чем прошу подсказать, что и в какой последовательности хорошо бы изучить до того, как я начну писать свое первое учебное приложение под данную платформу?  
  

Спасибо! 

 Сore Java - первый и кусочек второго тома  

Effective Java Джошуа Блоха - обязательно   

Java Concurrency in Practice Браяна Гоетса - обязательно  

из серии Pragmatic Programmer  

Programming Concurrency on the JVM: Mastering Synchronization  

Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions  

Pragmatic Unit Testing in Java 8 with JUnit 

 Если речь про экспресс погружение: то пока книги не читайте, начните с ютуба (только не зацикливайтесь на стартандроид), статей на хабре, встроенных семплов Android Studio, изучите жизненные циклы (например тут <https://github.com/xxv/android-lifecycle>), сделайте десяток простых приложений + можно сразу контроль версий пощупать вкупе (bitbucket например) и только после этого садитесь за чтение Java Core, ООП, Git Pro и тщательное изучение <https://developer.android.com/index.html>  
  

P.S. Если что-то не получается старайтесь искать правильные ответы сразу на SO.