- Вдохнул-таки жизнь в своего «Героя».
- На «Афане» и «ФорПда» обитают одни тупые виндузятники, но только прочтение их тупых инструкций мне помогло найти путь к счастью на «зеАнлоке». Если вы вдруг собрались брать такой же, не пугайтесь, это наблюдается только на «серых» аппаратах, если вам не жалко лишних тысяч пять рублей отдать МТС, то у вас всё заработает сразу (кроме root access, конечно).
- Очередной раз убедился, что Гугл любит линуксоидов… местами…
- Осваиваюсь потихоньку.
Android (карманный многоцелевой человекоподобный робот)
Android: how to close an app?
Залил вчера Андроид на свою чудо-машинку. Пока первая система, которая на мой взгляд может когда-нибудь стать труЪ мобильной ОСью. Сразу же столкнулся с проблемой, что непонятно, закрываются ли приложения, когда из них выходишь. Потому что в списке, вызывающемся при долгом нажатии AUX, новые иконки появляются, а старые не исчезают. И вот нагуглил:
In short, you need to keep on hitting the back button until it backs itself out to the home screen.
Long explanation:
1. If a program is doing something, then it will continue to run in the background.
2. If the program stops doing stuff and it is no longer in the foreground, Android keeps it in «hibernate» mode (in Windows terms). In other word, the system memory state of the program is dumped to storage memory.
3. When the program is loaded again, Android looks to see if there is an instance of that program hibernating. If so, it will load the hibernating instance; otherwise, a fresh new instance.
4. Android treats almost all applications as web pages, unless specifically told not to. What I mean is it keeps «browsing history» for each application so that when you hit «back,» you would be returned to the previous state of the application, just as if you hit «back» in a browser.
5. Putting everything together, what this means is that if you simply hit the home button, you might not be erasing the history portion of the application. This over time will kill your system memory.
You can try this out by going into Google Talk, keep on starting and closing conversations with people on your list. After a while, try hitting the «back» button and see if Android brings you back to the list of the 4 chat clients. It won’t. In fact, it will act as if you have not pressed anything. The reason is the previous state of Google Talk probably looks identical to the one you are navigating away from. Keep hitting the «back» button and you might see some interesting things, i.e. people who you know are offline would suddenly come online. You probably have to hit the button a dozen times before it finally exits you out. At this point, the memory dump for Google Talk is likely to be a lot smaller than if you hit the «home» button directly.
So you see, if you keep on using the «home» button, it won’t take long before both your memory and your battery get depleted, not to mention at some point opening up a hibernating app would instantly cause your G1 to crash and reboot.
В двух словах, продолжайте нажимать кнопку «назад» пока не выйдете к начальному экрану.
Длинное объяснение:
1. Если программа что-то делает, она продолжит делать это в свёрнутом состоянии.
2. Если программа перестаёт делать свои дела, и в это время находится в свёрнутом состоянии, Android её «усыпляет» (как говорят виндузятники). Другими словами, оперативная память программы сохраняется в долговременной памяти.
3. Когда программа снова запускается, Android смотрит, есть ли уже эта программа среди свёрнутых. Если есть, он её развернёт, в противном случае запустит новый экземпляр программы.
4. Андроит по умолчанию почти все приложения считает веб-страницами. Что это значит? Для каждого приложения он сохраняет историю переходов, и когда вы нажимаете «назад», вы возвращаетесь к предыдцщему состоянию приложения, как если бы вы нажали «назад» в браузере.
5. Соберём всё вместе. Если вы просто нажимаете кнопку «домой», часть истории приложения может остаться в памяти. Рано или поздно память закончится.
Можете попробовать сделать так: входите в Google Talk, открываете и закрываете разговоры с каждым из своих контактов в списке. Спустя некоторое время попробуйте нажать кнопку «назад» и посмотреть, как Андроид вернёт вас к списку из четырёх чат-клиентов. Ничего не произошло. На самом деле, он сделает вид, что вы ничего не нажимали. Причина в том, что предыдущее состояние Google Talk, возможно, выглядит точто так же, как то, в котором вы находитесь сейчас. Продолжая нажимать «назад», вы можете увидеть некоторые нтересные вещи, например, люди, которых вы видели отключившимися от сети, вдруг окажутся онлайн. Возможно, вам придётся нажать «назад» дюжину раз, прежде чем окнчательно выйдете. В этот момент сохранённая память Google Talk будет значительно меньше, чем если вы просто нажмёте «домой».
Как видите, если вы будете продолжать пользоваться кнопкой «домой», память и аккумулятор вашего устройства долго не протянут, не говоря уже о том, что в один прекрасный момент от открывания и сворачивания приложений ваш G1 упадёт и перезагрузится.
Оказывается, Гугл решил переизобрести Пальму, но на современном многозадачном и вебастом уровне. Пожелаем ему удачи на этом поприще!