./core/java/android/app/ActivityThread.java
handleBindApplication(){}
if ((data.appInfo.flags&ApplicationInfo.FLAG_LARGE_HEAP) != 0) {
dalvik.system.VMRuntime.getRuntime().clearGrowthLimit();
}
./core/java/android/content/pm/ApplicationInfo.java:285
public static final int FLAG_LARGE_HEAP = 1<<20;
./core/java/android/content/pm/PackageParser.java +2008
parseApplication(){}
TypedArray sa = res.obtainAttributes(attrs,
com.android.internal.R.styleable.AndroidManifestApplication);
...
if (sa.getBoolean(
com.android.internal.R.styleable.AndroidManifestApplication_largeHeap,
false)) {
ai.flags |= ApplicationInfo.FLAG_LARGE_HEAP;
}
handleBindApplication(){}
if ((data.appInfo.flags&ApplicationInfo.FLAG_LARGE_HEAP) != 0) {
dalvik.system.VMRuntime.getRuntime().clearGrowthLimit();
}
./core/java/android/content/pm/ApplicationInfo.java:285
public static final int FLAG_LARGE_HEAP = 1<<20;
./core/java/android/content/pm/PackageParser.java +2008
parseApplication(){}
TypedArray sa = res.obtainAttributes(attrs,
com.android.internal.R.styleable.AndroidManifestApplication);
...
if (sa.getBoolean(
com.android.internal.R.styleable.AndroidManifestApplication_largeHeap,
false)) {
ai.flags |= ApplicationInfo.FLAG_LARGE_HEAP;
}