Merge "Quiet excessive logging of missing lambdas during preload" am: 70b20ee0b8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1424919 Change-Id: Ied248c50c7c3150604390c6cd4734d81e050d6fd
This commit is contained in:
@@ -86,9 +86,10 @@ import java.security.Security;
|
||||
*/
|
||||
public class ZygoteInit {
|
||||
|
||||
// TODO (chriswailes): Change this so it is set with Zygote or ZygoteSecondary as appropriate
|
||||
private static final String TAG = "Zygote";
|
||||
|
||||
private static final boolean LOGGING_DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
|
||||
private static final String PROPERTY_DISABLE_GRAPHICS_DRIVER_PRELOADING =
|
||||
"ro.zygote.disable_gl_preload";
|
||||
|
||||
@@ -284,6 +285,7 @@ public class ZygoteInit {
|
||||
new BufferedReader(new InputStreamReader(is), Zygote.SOCKET_BUFFER_SIZE);
|
||||
|
||||
int count = 0;
|
||||
int missingLambdaCount = 0;
|
||||
String line;
|
||||
while ((line = br.readLine()) != null) {
|
||||
// Skip comments and blank lines.
|
||||
@@ -302,24 +304,33 @@ public class ZygoteInit {
|
||||
Class.forName(line, true, null);
|
||||
count++;
|
||||
} catch (ClassNotFoundException e) {
|
||||
Log.w(TAG, "Class not found for preloading: " + line);
|
||||
if (line.contains("$$Lambda$")) {
|
||||
if (LOGGING_DEBUG) {
|
||||
missingLambdaCount++;
|
||||
}
|
||||
} else {
|
||||
Log.w(TAG, "Class not found for preloading: " + line);
|
||||
}
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
Log.w(TAG, "Problem preloading " + line + ": " + e);
|
||||
} catch (Throwable t) {
|
||||
Log.e(TAG, "Error preloading " + line + ".", t);
|
||||
if (t instanceof Error) {
|
||||
throw (Error) t;
|
||||
}
|
||||
if (t instanceof RuntimeException) {
|
||||
} else if (t instanceof RuntimeException) {
|
||||
throw (RuntimeException) t;
|
||||
} else {
|
||||
throw new RuntimeException(t);
|
||||
}
|
||||
throw new RuntimeException(t);
|
||||
}
|
||||
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
|
||||
}
|
||||
|
||||
Log.i(TAG, "...preloaded " + count + " classes in "
|
||||
+ (SystemClock.uptimeMillis() - startTime) + "ms.");
|
||||
if (LOGGING_DEBUG && missingLambdaCount != 0) {
|
||||
Log.i(TAG, "Unresolved lambda preloads: " + missingLambdaCount);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Error reading " + PRELOADED_CLASSES + ".", e);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user