Add a magic subclass name that will exclude inner classes that are meant
to prevent object instatiation but allow class preloading. This will
allow classes that have undesired side-effects to delay initialization
until the side-effects are no longer disruptive.
Bug:
9984058
Change-Id: I46b0784760d84a2a2da1f9f41d87ee7f70a3fc16
return SERVICES.contains(processName);
}
- /**Reports if the given class should be preloaded. */
+ /** Reports if the given class should be preloaded. */
public static boolean isPreloadable(LoadedClass clazz) {
- return clazz.systemClass && !EXCLUDED_CLASSES.contains(clazz.name);
+ return clazz.systemClass && !EXCLUDED_CLASSES.contains(clazz.name)
+ && !clazz.name.endsWith("$NoPreloadHolder");
}
}