сбой приложения при изменении ориентации при использовании progressDialog с многопоточностью - PullRequest
1 голос
/ 09 сентября 2011

-> Я реализовал многопоточность в своем первом действии.И сделал использование диалога прогресса также.Так что теперь во время ориентации (только этого экрана) мое приложение вылетает - выдает исключение утечки памяти.И в качестве решения этого я узнал отсюда только то, что я должен поставить

android:configChanges="keyboardHidden|orientation"

Но теперь мой метод onCreate () этой операции не вызывается, и мне необходимо вызвать егометод по ориентации изменяет.Так что мне делать на этом этапе?

Ответы [ 3 ]

0 голосов
/ 09 сентября 2011

Проверьте этот блог:

http://blog.doityourselfandroid.com/2010/11/14/handling-progress-dialogs-and-screen-orientation-changes/

Есть также другие подобные вопросы здесь по stackoverflow: Как справиться с изменением ориентации экрана при активном диалоге прогресса и фоновом потоке?

При использовании первого варианта я обнаружил, что в эмуляторе есть ошибка, из-за которой он дважды вызывает onCreate (), что приводит к сбою, но это не должно быть проблемой на реальном устройстве.

0 голосов
/ 09 сентября 2011

Вы действительно хотите обрабатывать изменения ориентации для своего приложения?

Если нет, вы можете установить атрибут screenOrientation в файле manifest.xml, чтобы ваше приложение сохраняло эту ориентацию, нетНезависимо от ориентации вашего телефона.

Если вы это сделаете, вы должны переопределить этот метод public void onConfigurationChanged (Configuration newConfig), здесь вы можете обрабатывать изменения конфигурации (ориентация, скрытая клавиатура и т. д.) для вашего приложения.Если вы не переопределите это, система просто закроет ваше приложение и перезапустит его.Это может привести к утечке памяти.

0 голосов
/ 09 сентября 2011

Добавьте это в ваш файл манифеста

  android:screenOrientation="landscape" or android:screenOrientation="portrait"

пример:

 <activity android:name=".SomeActivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait">
...