Когда дело доходит до потоков и изменения ориентации, кажется, нормальная вещь, чтобы сделать что-то вроде этого:Другие темы и ориентация меняется на вопросы
public class Bwent extends Activity {
private static Bwent instance;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
instance = this;
}
//...
Таким образом, если вы делаете запрос сети с нить, и кто-то изменит ориентацию телефона, поток знает, что будет использовать новую активность.
Однако возможно ли, что нить может закончиться в то время, когда Android уничтожает старую активность и создает новую?
Есть ли момент в процессе, когда нить все еще может указывать на неправильную деятельность или частично разрушенную активность?
Кажется, что не должно быть, но даже с использованием обработчика, созданного в основном потоке, у меня возникают прерывистые проблемы с потоком, пытающимся обновить объект, который больше не существует. Это редко, но это происходит.
Это в основном то, что я делаю. Однако кажется, что все еще есть шанс, что AsyncTask может иметь ссылку на Activity, которая в настоящее время уничтожается, когда возвращается (doPostExecute). – synic
@synic: Улицы Бостона и я еще не сталкивались с этим. И если это правда, вы ничего не можете с этим поделать, кроме того, чтобы ваша деятельность избегала цикла destroy/recreate. – CommonsWare
Улицы Бостона? – synic