2011-09-09 10 views
1

- >私は最初のアクティビティでスレッドを実装しました。また、進行状況ダイアログも使用しました。だから今オリエンテーション中(その画面のみ)、私のアプリケーションがクラッシュする - メモリリークを除いて。そして、これの解決策として、私は私がprogressDialog with threadingを使用しているときにオリエンテーションが変更されるとアプリケーションがクラッシュします

android:configChanges="keyboardHidden|orientation" 

しかし、今はその活動の私のonCreate()メソッドが呼び出さ取得されていないを置く必要があることだけで、ここから知るようになった、と私は上でこのメソッドを呼び出すことが必要ですorientationChangesだから私はこの段階で何をすべきですか?

答えて

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

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

マニフェストファイルにこれを追加します。

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

本当にあなたのアプリの変化を処理したいですか?

もしそうでなければ、manifest.xmlファイルにscreenOrientation属性を設定することができます。そのため、携帯電話の向きにかかわらず、アプリはその向きに保持されます。

この場合、public void onConfigurationChanged (Configuration newConfig)のメソッドをオーバーライドする必要があります。ここでは、あなたのアプリケーションの変更(向き、キーボードの隠しなど)を処理できます。これを上書きしないと、システムは単にあなたを停止して再起動します。これによりメモリリークが発生します。

関連する問題