<< 前のエントリトップページ
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)

◆この記事へのトラックバックURL:

http://control.onair-blog.jp/util/tb.php?us_no=1924&bl_id=1924&et_id=188469

◆この記事へのコメント:

※必須