2011年07月29日
各Activityで共用
レスポンスを良くするする為に画面(Activity)起動時にZipファイルを保持していたのですが
画面を行き来する毎に同じZIPファイルを
開放・保持を繰り返していました。
コレだと行き来の効率が悪くなるので、
ちと改善してみました
Applicationを継承するクラスを作成しました。
こんな感じ
import java.util.zip.ZipFile;
import android.app.Application;
//
//Activity間でZipFileを共有する
//2011.07.28 追加
public class AppZip extends Application {
private ZipFile zipfile;
public ZipFile getAppZipFile() {
return zipfile;
}
public void setAppZipFile(ZipFile zipfile) {
this.zipfile = zipfile;
}
@Override
public void onCreate() {
super.onCreate();
}
}
で、AndroidManifest.xmlのapplicationに、作ったクラス"AppZip"を登録
<application android:icon="@drawable/icon" android:label="@string/app_name" android:name="AppZip">
あとは
各ロジックで
AppZip appzip = (AppZip) this.getApplication();
appzip.setAppZipFile( new ZipFile( Environment.getExternalStorageDirectory().getPath() + data_dir_s + "/" + zipfname));
ZipEntry entry = appzip.getAppZipFile().getEntry( c.getString(17) + ".PNG");
こんな感じで記述
これで一旦保持すれば各Activityで呼出して利用可能になりました。
まあ、メモリーは消費されっぱなしでは有りますがw
投稿者:秀at 00:02| さんでープログラム(Android編) | コメント(0) | トラックバック(0)