diff options
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteInit.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 50ddbd16ba39..da53995868e4 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -267,7 +267,12 @@ public class ZygoteInit { if (false) { Log.v(TAG, "Preloading " + line + "..."); } - Class.forName(line); + // Load and explicitly initialize the given class. Use the tree-argument version + // of forName to avoid repeated stack lookups (to derive the caller's + // class-loader). Use true to force initialization, and null for the boot + // classpath class-loader (could as well cache the class-loader of this class in + // a variable). + Class.forName(line, true, null); count++; } catch (ClassNotFoundException e) { Log.w(TAG, "Class not found for preloading: " + line); |