Merge "Lazy load the allocation of Slog message formatting objects." into sc-dev

This commit is contained in:
TreeHugger Robot
2021-03-20 00:29:12 +00:00
committed by Android (Google) Code Review

View File

@@ -30,11 +30,11 @@ import java.util.Locale;
*/
public final class Slog {
@GuardedBy("sMessageBuilder")
private static final StringBuilder sMessageBuilder = new StringBuilder();
@GuardedBy("Slog.class")
private static StringBuilder sMessageBuilder;
@GuardedBy("sMessageBuilder")
private static final Formatter sFormatter = new Formatter(sMessageBuilder, Locale.ENGLISH);
@GuardedBy("Slog.class")
private static Formatter sFormatter;
private Slog() {
}
@@ -226,7 +226,12 @@ public final class Slog {
}
private static String getMessage(String format, @Nullable Object... args) {
synchronized (sMessageBuilder) {
synchronized (Slog.class) {
if (sMessageBuilder == null) {
// Lazy load so they're not created if not used by the process
sMessageBuilder = new StringBuilder();
sFormatter = new Formatter(sMessageBuilder, Locale.ENGLISH);
}
sFormatter.format(format, args);
String message = sMessageBuilder.toString();
sMessageBuilder.setLength(0);