Вопросами 1 и 3 не интересовался, но со вторым: вылетит исключение, сервис будет завершен. Чтобы такой лажи не произошло, нужно сделать unbind в методе onDestroy().
Насколько я знаю, это не так. Если сервис был запущен через bindService, то он будет остановлен после unbind: в нем больше нет надобности. Не могу сейчас найти вопрос на SO, чтобы подтвердить. Чтобы изменить это поведение, нужно делать startService(), если хочется чтобы сервис продолжил работу после unbind.
Сервис, запущенный через bind, может быть остановлен, если к нему никто не подключен. Совсем необязательно, что это произойдет сразу же после отключения последнего клиента.
Делайте unbind на ondestroy без страха. Если в remote service в этот момент, например, играла музыка в бэкграунде она замечательным образом продолжит играть (10 минут назад закончил плеер). Для этого собственно сервисы и созданы. Вот насчет local service — сложнее. Локальные запускаются в отдельном потоке, но в контексте приложения, т.е. при выходе из приложения (ondestroy) будет закрыт и поток, в котором запущен сервис. Не проверял, но думаю что так. Тем не менее с unbind это не связано. Насколько я понимаю unbind просто «отключит» текущее активити от сервиса. Но к одному сервису (в том числе локальному) могут обращаться сколько угодно activity.
1) singleTask стартует новый таск, но т.к. активити A уже существует, будет показан этот экземпляр, а все, что выше, скорее всего отправится в мусор. При нажатии Back выйдем на рабочий стол (при условии что A было в корне).
и более того один раз наблюдал очень странное поведение… если у единственного активити в Task1 вызвать isTaskRoot() вернется false, если есть это активити в Task 2
Ужас сколько всего. Я ещё разбирался с native и opengl обёртками. Фрагменты кто-нибудь использует? У меня прога с API version 1, уж не знаю зачем, есть пара сотен пользователей, а фрагменты с четвёрки.
Кстати, reflection не рекомендую(т), лучше использовать отложенную загрузку.
сложилось ощущение, что все вы написали просто взяли из содержания книги по андроид
лично мое мнение состоит в том, что у вас необоснованно указано ограничение на версию Android (2.0 и выше). В то же время для платной версии у вас указано минимальная версия 1.6. Глядя на функционал это больше похоже на правду. Стоит отметить, что приложение было выложено еще в 2010 г… В то время долю Android 1.6 не стоило отбрасывать.
То же самое и насчет второго приложения (Football Referee Cards). Чем обосновано ограничение на версию андроид?
Это должен знать каждый