Merge "Add new resources trace, also trace apk dex loading." into jb-mr2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
15fed390c4
@@ -16,6 +16,7 @@
|
||||
|
||||
package android.app;
|
||||
|
||||
import android.os.Trace;
|
||||
import dalvik.system.PathClassLoader;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -54,14 +55,19 @@ class ApplicationLoaders
|
||||
return loader;
|
||||
}
|
||||
|
||||
Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, zip);
|
||||
PathClassLoader pathClassloader =
|
||||
new PathClassLoader(zip, libPath, parent);
|
||||
|
||||
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
|
||||
|
||||
mLoaders.put(zip, pathClassloader);
|
||||
return pathClassloader;
|
||||
}
|
||||
|
||||
return new PathClassLoader(zip, parent);
|
||||
Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, zip);
|
||||
PathClassLoader pathClassloader = new PathClassLoader(zip, parent);
|
||||
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
|
||||
return pathClassloader;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package android.content.res;
|
||||
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.os.Trace;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
|
||||
@@ -602,7 +603,12 @@ public final class AssetManager {
|
||||
* the cookie of the added asset, or 0 on failure.
|
||||
* {@hide}
|
||||
*/
|
||||
public native final int addAssetPath(String path);
|
||||
public final int addAssetPath(String path) {
|
||||
int res = addAssetPathNative(path);
|
||||
return res;
|
||||
}
|
||||
|
||||
private native final int addAssetPathNative(String path);
|
||||
|
||||
/**
|
||||
* Add multiple sets of assets to the asset manager at once. See
|
||||
|
||||
@@ -63,6 +63,8 @@ public final class Trace {
|
||||
public static final long TRACE_TAG_HAL = 1L << 11;
|
||||
/** @hide */
|
||||
public static final long TRACE_TAG_APP = 1L << 12;
|
||||
/** @hide */
|
||||
public static final long TRACE_TAG_RESOURCES = 1L << 13;
|
||||
|
||||
private static final long TRACE_TAG_NOT_READY = 1L << 63;
|
||||
private static final int MAX_SECTION_NAME_LEN = 127;
|
||||
|
||||
@@ -1642,7 +1642,7 @@ static JNINativeMethod gAssetManagerMethods[] = {
|
||||
(void*) android_content_AssetManager_getAssetLength },
|
||||
{ "getAssetRemainingLength", "(I)J",
|
||||
(void*) android_content_AssetManager_getAssetRemainingLength },
|
||||
{ "addAssetPath", "(Ljava/lang/String;)I",
|
||||
{ "addAssetPathNative", "(Ljava/lang/String;)I",
|
||||
(void*) android_content_AssetManager_addAssetPath },
|
||||
{ "isUpToDate", "()Z",
|
||||
(void*) android_content_AssetManager_isUpToDate },
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
//
|
||||
|
||||
#define LOG_TAG "asset"
|
||||
#define ATRACE_TAG ATRACE_TAG_RESOURCES
|
||||
//#define LOG_NDEBUG 0
|
||||
|
||||
#include <androidfw/Asset.h>
|
||||
@@ -32,6 +33,7 @@
|
||||
#include <utils/threads.h>
|
||||
#include <utils/Timers.h>
|
||||
#include <utils/ZipFileRO.h>
|
||||
#include <cutils/trace.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <dirent.h>
|
||||
@@ -51,6 +53,14 @@
|
||||
_rc; })
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ANDROID_OS
|
||||
#define MY_TRACE_BEGIN(x) ATRACE_BEGIN(x)
|
||||
#define MY_TRACE_END() ATRACE_END()
|
||||
#else
|
||||
#define MY_TRACE_BEGIN(x)
|
||||
#define MY_TRACE_END()
|
||||
#endif
|
||||
|
||||
using namespace android;
|
||||
|
||||
/*
|
||||
@@ -638,6 +648,7 @@ const ResTable* AssetManager::getResTable(bool required) const
|
||||
ResTable* sharedRes = NULL;
|
||||
bool shared = true;
|
||||
const asset_path& ap = mAssetPaths.itemAt(i);
|
||||
MY_TRACE_BEGIN(ap.path.string());
|
||||
Asset* idmap = openIdmapLocked(ap);
|
||||
ALOGV("Looking for resource asset in '%s'\n", ap.path.string());
|
||||
if (ap.type != kFileTypeDirectory) {
|
||||
@@ -702,6 +713,7 @@ const ResTable* AssetManager::getResTable(bool required) const
|
||||
if (idmap != NULL) {
|
||||
delete idmap;
|
||||
}
|
||||
MY_TRACE_END();
|
||||
}
|
||||
|
||||
if (required && !rt) ALOGW("Unable to find resources file resources.arsc");
|
||||
|
||||
Reference in New Issue
Block a user