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 件のコメント:
コメントを投稿