ApplicationInfoの情報
AndroidManifest.xmlに情報を記述するってことは、その情報はApplicationInfoに格納されることは容易に想像がつくと思います。
デベロッパーサイトのApplicationInfoに以下の記載がありました。
public static final int FLAG_LARGE_HEAP
Since: API Level 11
Value for flags: true when the application has requested a large heap for its processes. Corresponds to android:largeHeap.
Constant Value: 1048576 (0x00100000)
ApplicationInfoのpublicメンバー、「flags」のフラグをチェックすれば判断できるってことですね。
MOTOROLA XOOMのインストールアプリを確認
以下のようにインストールアプリの情報を取得して、FLAG_LARGE_HEAPのフラグが立っているアプリのみログ出力してみました。
PackageManager pm = getPackageManager();
if(pm != null){
List<PackageInfo> package_list = pm.getInstalledPackages(
PackageManager.GET_UNINSTALLED_PACKAGES );
for (PackageInfo info : package_list){
if(info.applicationInfo != null){
if((info.applicationInfo.flags & ApplicationInfo.FLAG_LARGE_HEAP) != 0){
Log.e("FLAG_LARGE_HEAP", info.packageName);
}
}
}
}
結果は以下のアプリでした。
なんとなく納得できそうなアプリ達でした。
05-15 04:25:42.530: ERROR/FLAG_LARGE_HEAP(7592): com.android.launcher
05-15 04:25:42.530: ERROR/FLAG_LARGE_HEAP(7592): com.google.android.youtube
0 件のコメント:
コメントを投稿