私はC++で書かれたゲームをNDKを使ってAndroidに移植します。実行中に消費するメモリ量を知る必要があります。私は、プログラムでC++で書かれたAndroidアプリケーションのメモリ使用量を見つける方法を探しています。 JavaではNDKを使ってC++で書かれた私のアンドロイドアプリケーションのメモリ使用量を調べるには
答えて
、あなたが使用割り当てられた固有のメモリー/確認することができます。
Debug.getNativeHeapAllocatedSize()
Debug.getNativeHeapSize()
参照:
http://developer.android.com/reference/android/os/Debug.html#getNativeHeapAllocatedSize%28%29
http://developer.android.com/reference/android/os/Debug.html#getNativeHeapSize%28%29
JonnyBoyの回答に基づいて2つの機能を。 malloc()
および関連関数のみによって行われるメモリ割り当て約
static long getNativeHeapAllocatedSize(JNIEnv *env)
{
jclass clazz = (*env)->FindClass(env, "android/os/Debug");
if (clazz)
{
jmethodID mid = (*env)->GetStaticMethodID(env, clazz, "getNativeHeapAllocatedSize", "()J");
if (mid)
{
return (*env)->CallStaticLongMethod(env, clazz, mid);
}
}
return -1L;
}
static long getNativeHeapSize(JNIEnv *env)
{
jclass clazz = (*env)->FindClass(env, "android/os/Debug");
if (clazz)
{
jmethodID mid = (*env)->GetStaticMethodID(env, clazz, "getNativeHeapSize", "()J");
if (mid)
{
return (*env)->CallStaticLongMethod(env, clazz, mid);
}
}
return -1L;
}
実際には、これらのJavaメソッドはネイティブメソッドそのものです。 http://androidxref.com/source/xref/frameworks/base/core/jni/android_os_Debug.cpp(cpp-source)によれば 'mallinfo()'を使って 'uordblks'(' getNativeHeapAllocatedSize() ')と' usmblks'( 'getNativeHeapSize()') –
@ super-qua、Tankあなたはそんなに! – CAMOBAP
Debug.getNativeHeapAllocatedSize()
とDebug.getNativeHeapSize()
リターン情報。 C++の/proc/self/statm
を簡単に解析し、VmRSSというメトリックを得ることができます。
- 1. C#/。NET:辞書のメモリ使用量
- 2. 私のCプログラムのCPU使用量とメモリ使用量を表示したい
- 3. メモリ使用量を調べるときにGC_FOR_ALLOCを「深刻」にしますか?
- 4. C#でのイテレータのメモリ使用量
- 5. TomcatのメモリとCPU使用量を調整する
- 6. 私のchar *に必要なメモリの量を調べる方法は?
- 7. C#のスレッドのメモリ使用量
- 8. C++でメモリ使用量を追跡し、メモリ消費量を評価する
- 9. メモリ使用量を減らす、C、CodeChef
- 10. C malloc、ポピュレート時のメモリ使用量
- 11. メモリ使用量
- 12. 私のアンドロイドアプリケーションでc/C++/objective cのようなネイティブコードを使用するには?
- 13. C++からWindows APIを使ってアプリケーションのCPU使用量やディスク使用量を取得する方法は?
- 14. JavaでのスレッドのCPU /メモリ使用量を調整しますか?
- 15. Android NDK:すべての仕事にC++を使用できますか?
- 16. C#で書かれた奇妙なメモリ使用パターンWindowsフォームアプリケーション
- 17. 子プロセスのメモリ使用量ですか?
- 18. リフレクションを使用して.Netタイプがメモリ内でどのようにレイアウトされているかを調べる
- 19. Silverlightメモリ使用量
- 20. メモリ使用量テスト
- 21. Silverlightメモリ使用量
- 22. RazorEngineメモリ使用量
- 23. CGPDFDocumentCreateWithURLメモリ使用量
- 24. iOSメモリ使用量は?
- 25. "readonly"(C#)はメモリ使用量を減らしますか?
- 26. IronPythonのメモリ使用量
- 27. モバイルウェブキットのメモリ使用量
- 28. メモリ使用量の分析
- 29. CCLabelBMFontのメモリ使用量
- 30. jQueryのイベントハンドラ - メモリ使用量
一つの方法は、 'new'と' DELETE'演算子をオーバーライドして、いくつかの簿記を行うことです。 – user1095108