dalvik ヒープにメモリ領域を割り当てるために、アプリケーションは通常の malloc の代わりに dlmalloc を使用します。dlmalloc が使用される理由と malloc との違いについて説明します。(私が知っているように、dalvik VM の作成中に dalvik ヒープを割り当てるには、malloc が使用されます。)
6173 次
1 に答える
15
上位ビットは、Dalvik がデフォルトの malloc で管理されるヒープとは別の基礎となるアロケーターを必要とすることでした。これにより、他のサブシステムが干渉しないことがわかっているため、割り当てがどのように行われるかを適切に制御できます。
結局のところ、dlmalloc は必要な分離とフックを提供する、かなり成熟した既存のライブラリでした。(私がチームを去るまでは) その意図は、最終的にはよりオーダーメイドのものに置き換えることでしたが、その特定の計画を実行するほど差し迫った問題にはなりませんでした。
dlmalloc と malloc の詳細な違いについて: dlmalloc は従来の libc malloc API の特定の実装ですが、「malloc」自体は特定の実装に固有のものではありません。しかし、あなたが具体的だとしても、とにかく「コードを読む」以上のことを提案できるとは思えません。
于 2012-07-11T20:28:56.850 に答える