私のAndroidアプリケーションでは、インターネットからいくつかの画像とデータを展開可能なリストビューに読み込んでいます。向きの変更は次のように処理しました。Android画面の向きが遅いですか?
私のonCreateで@Override
public Object onRetainNonConfigurationInstance() {
isOrentationChnged=true;
final Object data = arrGroupelements;
return data;
}
()
if(!isOrentationChnged){
new LongRunning().execute();
}else{
if((String[][])getLastNonConfigurationInstance()==null){
new LongRunning().execute();
}else{
arrGroupelements= (String[][]) getLastNonConfigurationInstance();
expList.setAdapter(new ExpAdapter(cont));
}
}
isOrentationChnged=false;
LongRunningは、インターネットからデータを取得するために使用しているAsynacTaskであり、姿勢変更後に以前にロードされたデータをロードする(インターネットから新しいデータを取得せずもう一度)しかし、それは非常に遅いです。これを効率的に行うための代替方法はありますか?
あなたは[this](http://developer.android.com/resources/articles/faster-screen-orientation-change.html)を見ましたか? – Ghost
はい、私は上のようにonRetainNonConfigurationInstance()メソッドとgetLastNonConfigurationInstance()メソッドを使用していることに気付きました。それは適切に動作していますが、非常に遅いので、これを効率的に行うための代替方法を知る必要があります。 –
は** isOrentationChnged **静的変数ですか?オリエンテーションが変更されたときにLongRunning()。execute()が呼び出されていないことを確認しますか? –