私のAndroidアプリケーションでは、インターネットからいくつかの画像とデータを展開可能なリストビューにロードしました。そして、向きの変更を次のように処理しました。
@Override
public Object onRetainNonConfigurationInstance() {
isOrentationChnged=true;
final Object data = arrGroupelements;
return data;
}
私の onCreate() で
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 であり、方向の変更後に (インターネットから新しいデータを再度取得することなく) 以前に読み込まれたデータを読み込みますが、非常に遅いです。これを効率的に行う別の方法はありますか??