summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-08-11 19:58:36 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-08-11 19:58:36 -0700
commitb8546001701405a76dad7e6235046e592296fac2 (patch)
tree192f287fdc217bf11c616f2fae7a9b37d673ea1a /core
parent188f5a71061791906572de375c5efe26cadddbae (diff)
parent82e1ee93eece8fb0aec6acc3ef4ee7b1c86feec7 (diff)
downloadframeworks_base-b8546001701405a76dad7e6235046e592296fac2.zip
frameworks_base-b8546001701405a76dad7e6235046e592296fac2.tar.gz
frameworks_base-b8546001701405a76dad7e6235046e592296fac2.tar.bz2
Merge change 20878 into donut
* changes: Fix issue #2048263: More debugging information
Diffstat (limited to 'core')
-rw-r--r--core/java/android/app/ActivityThread.java8
-rw-r--r--core/java/android/content/res/AssetManager.java5
-rw-r--r--core/jni/android_util_AssetManager.cpp18
3 files changed, 31 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 32a2891..e045105 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -1701,6 +1701,14 @@ public final class ActivityThread {
printRow(pw, TWO_COUNT_COLUMNS, "numPagers:", stats.numPagers, "inactivePageKB:",
(stats.totalBytes - stats.referencedBytes) / 1024);
printRow(pw, ONE_COUNT_COLUMN, "activePageKB:", stats.referencedBytes / 1024);
+
+ // Asset details.
+ String assetAlloc = AssetManager.getAssetAllocations();
+ if (assetAlloc != null) {
+ pw.println(" ");
+ pw.println(" Asset Allocations");
+ pw.print(assetAlloc);
+ }
}
private void printRow(PrintWriter pw, String format, Object...objs) {
diff --git a/core/java/android/content/res/AssetManager.java b/core/java/android/content/res/AssetManager.java
index 8ebe093..0bc8a9d 100644
--- a/core/java/android/content/res/AssetManager.java
+++ b/core/java/android/content/res/AssetManager.java
@@ -667,6 +667,11 @@ public final class AssetManager {
/**
* {@hide}
*/
+ public native static final String getAssetAllocations();
+
+ /**
+ * {@hide}
+ */
public native static final int getGlobalAssetManagerCount();
private native final int newTheme();
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp
index 66b2506..562cc8f 100644
--- a/core/jni/android_util_AssetManager.cpp
+++ b/core/jni/android_util_AssetManager.cpp
@@ -1536,6 +1536,22 @@ static jint android_content_AssetManager_getGlobalAssetCount(JNIEnv* env, jobjec
return Asset::getGlobalCount();
}
+static jobject android_content_AssetManager_getAssetAllocations(JNIEnv* env, jobject clazz)
+{
+ String8 alloc = Asset::getAssetAllocations();
+ if (alloc.length() <= 0) {
+ return NULL;
+ }
+
+ jstring str = env->NewStringUTF(alloc.string());
+ if (str == NULL) {
+ doThrow(env, "java/lang/OutOfMemoryError");
+ return NULL;
+ }
+
+ return str;
+}
+
static jint android_content_AssetManager_getGlobalAssetManagerCount(JNIEnv* env, jobject clazz)
{
return AssetManager::getGlobalCount();
@@ -1646,6 +1662,8 @@ static JNINativeMethod gAssetManagerMethods[] = {
(void*) android_content_AssetManager_destroy },
{ "getGlobalAssetCount", "()I",
(void*) android_content_AssetManager_getGlobalAssetCount },
+ { "getAssetAllocations", "()Ljava/lang/String;",
+ (void*) android_content_AssetManager_getAssetAllocations },
{ "getGlobalAssetManagerCount", "()I",
(void*) android_content_AssetManager_getGlobalAssetCount },
};