使用带有线程的progressDialog时,应用程序在方向更改时崩溃

时间:2011-09-09 07:10:56

标签: android orientation oncreate crash

- >我在第一次活动中实现了线程化。并且还使用了进度对话框。因此,现在在定位(仅限该屏幕)期间,我的应用程序崩溃 - 提供内存泄漏的例外。作为解决方案,我从这里开始只知道我应该把

android:configChanges="keyboardHidden|orientation"

但是现在我没有调用该活动的onCreate()方法,我必须在orientationChanges上调用此方法。那么在这个阶段我该怎么做呢?

3 个答案:

答案 0 :(得分:0)

将此添加到您的清单文件

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

示例:

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

答案 1 :(得分:0)

查看此博客:

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

stackoverflow上还有其他类似的问题: How to handle screen orientation change when progress dialog and background thread active?

我有经验,如果使用第一个选项,模拟器有一个错误,它会调用onCreate()两次 - 导致崩溃,但它不应该是真实设备上的问题。

答案 2 :(得分:0)

你真的想为你的应用程序处理orietation更改吗?

如果没有,您可以在manifest.xml文件中设置screenOrientation属性,这样无论手机的方向如何,您的应用都会保持这个方向。

如果你这样做,你应该覆盖这个方法public void onConfigurationChanged (Configuration newConfig),在这里你可以处理你的应用程序的配置(方向,键盘隐藏等)更改。如果您不重写此操作,系统将只关闭您的应用程序并重新启动它。这会导致内存泄漏。