忍者ブログ
[1] [2]

DATE : 2024/04/27 (Sat)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2011/05/07 (Sat)

frameworks/base/services/java/com/android/server/PackageManagerService.javaのscanPackageLI(PackageParser.Package, int, int, long)メソッド内の処理に、以下のようなコメントがあります。

Note: We don't want to unpack the native binaries for system applications, unless they have been updated (the binaries are already under /system/lib). Also, don't unpack libs for apps on the external card since they should have their libraries in the ASEC container already. In other words, we're going to unpack the binaries only for non-system apps and system app upgrades.

本コメントがあるscanPackageLIメソッドは、アプリケーションのインストール関連のメソッドから呼ばれています。

結果、ApplicationInfo.FLAG_SYSTEMの立つアプリケーションのapk内のネイティブライブラリは、/data/dataの下に展開されません。システムアプリケーションのネイティブライブラリは、必ず/system/libに置かなければなりません。ただし、Android Marketなどからでのアップデート時には/data/dataの下に展開されます。

本変更の入ったコミットIDは、4f99e3c28449833b10ee23c538246847fdb6a498です。コミットメッセージに、具体的な動作が述べられています。本コミットは、Android 2.2(Froyo)以上に含まれています。

PR

DATE : 2011/05/06 (Fri)

アプリケーションを開発していると、メモリの消費量が心配になることがあります。消費量が少ないことに超したことはありませんが、計測もせずに最適化を行うのもよくありません。計測の際に、そもそもDalvikVMのアプリケーションあたりの最大ヒープサイズがどれだけなのか気になったので、それを取得する方法をメモしておきます。

DalvikVMのアプリケーションごとの最大ヒープサイズはデバイスによって異なり、システムプロパティdalvik.vm.heapsizeに定義されています。

次を実行することで取得できます。

adb shell getprop dalvik.vm.heapsize

アプリケーションからは、android.app.ActivityManager#getMemoryClass() でも同様の内容を取得できます。アプリケーションの求める動作条件をデバイスが満たしているか否か判断する際に使えます。

忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
ブログ内検索
最近の状況
リンク
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック