Как работает UI Threading в Android? - PullRequest
0 голосов
/ 24 марта 2011

Если приложение переводится в фоновый режим, что происходит с потоком пользовательского интерфейса, в котором выполнялось это приложение?

Это будет спать или быть убитым?

Когда приложение вернется на передний план, будет ли уведомлен тот же поток, или будет создан новый поток и связан с экземпляром приложения?

Ответы [ 2 ]

1 голос
/ 24 марта 2011

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

0 голосов
/ 24 марта 2011

Это зависит от ситуации с памятью.Когда ваше приложение переходит в фоновый режим, оно обычно изначально работает.Андроид не спит вашей веткой.Вы должны прекратить обновлять свой пользовательский интерфейс и выполнять вычисления на onPause.

Однако в ситуациях с нехваткой памяти Android может убить приложение, когда оно работает в фоновом режиме (особенно, если вам не понравилось и вы загружаете ресурсы).По этой причине вы всегда должны сохранять любые постоянные данные в onPause.

...