diff options
author | Mathieu Chartier <mathieuc@google.com> | 2019-06-12 11:45:52 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2019-06-13 00:36:14 +0000 |
commit | 4c7291f76c39d0a8a5aa59e0157694c0aacdddc2 (patch) | |
tree | 09aee11b8f49dfad940dd7a47ea2ad77cfce912e | |
parent | ca354f308d85da2d4382ba25dec6dbd0d66030e0 (diff) |
Update dirty-image-objects
Numbers 60s after boot on taimen, saves ~4MB of RAM system wide.
Obtained on apps:
system_server
com.android.systemui
com.android.phone
com.android.nfc
com.google.android.networkstack
com.android.bluetooth
com.google.android.apps.nexuslauncher
com.google.android.gms.persistent
com.google.android.as
com.google.process.gservices
com.google.android.gms
com.google.android.inputmethod.latin
Before (measured processes):
PSS Private Dirty
.Boot art 2538 2300 0 0
.Boot art 2663 2428 0 0
.Boot art 1962 1676 0 0
.Boot art 816 540 0 0
.Boot art 1297 1032 0 0
.Boot art 1234 968 0 0
.Boot art 1751 1496 0 0
.Boot art 2227 1984 0 0
.Boot art 1114 844 0 0
.Boot art 772 492 0 0
.Boot art 2215 1972 0 0
.Boot art 1213 912 0 0
System wide
71,282K: .art mmap
66,418K: .Boot art
4,864K: .App art
After:
PSS Private Dirty
.Boot art 2447 2216 0 0
.Boot art 2477 2256 0 0
.Boot art 1717 1444 0 0
.Boot art 799 540 0 0
.Boot art 1268 1020 0 0
.Boot art 1196 948 0 0
.Boot art 1703 1464 0 0
.Boot art 2094 1864 0 0
.Boot art 1055 804 0 0
.Boot art 749 484 0 0
.Boot art 2096 1868 0 0
.Boot art 1058 772 0 0
System wide
67,138K: .art mmap
62,274K: .Boot art
4,864K: .App art
Bug: 134776403
Test: Reboot and inspect RAM usage
Change-Id: I5c056565a10b0becc4257f051aecc05cef6247dd
-rw-r--r-- | config/dirty-image-objects | 468 |
1 files changed, 340 insertions, 128 deletions
diff --git a/config/dirty-image-objects b/config/dirty-image-objects index 9e2230b288c8..ec2568dc4ad8 100644 --- a/config/dirty-image-objects +++ b/config/dirty-image-objects @@ -28,147 +28,359 @@ # Then, grep for lines containing "Private dirty object" from the output. # This particular file was generated by dumping systemserver and systemui. # -java.lang.System -java.net.Inet4Address -java.lang.Thread -java.lang.Throwable -java.util.Collections -javax.net.ssl.SSLContext -java.nio.charset.Charset -java.security.Provider -javax.net.ssl.HttpsURLConnection -javax.net.ssl.SSLSocketFactory -java.util.TimeZone -java.util.Locale -java.util.function.ToIntFunction -sun.misc.FormattedFloatingDecimal -java.util.stream.IntStream -android.icu.util.TimeZone -org.apache.harmony.luni.internal.util.TimezoneGetter -dalvik.system.SocketTagger -dalvik.system.CloseGuard -java.lang.ref.FinalizerReference -com.android.org.conscrypt.ct.CTLogStoreImpl -com.android.org.conscrypt.SSLParametersImpl -com.android.org.conscrypt.OpenSSLContextImpl -com.android.org.conscrypt.SSLParametersImpl$AliasChooser -com.android.org.conscrypt.SSLParametersImpl$PSKCallbacks -com.android.org.conscrypt.NativeCrypto$SSLHandshakeCallbacks -com.android.okhttp.OkHttpClient -com.android.okhttp.okio.SegmentPool -com.android.okhttp.okio.AsyncTimeout -com.android.okhttp.HttpUrl -android.os.StrictMode -com.android.internal.os.BinderInternal -android.os.storage.StorageManager -android.os.Trace +android.accounts.Account +android.accounts.OnAccountsUpdateListener +android.animation.LayoutTransition android.app.ActivityManager -android.media.MediaRouter -android.os.Environment -android.view.ThreadedRenderer -android.media.AudioManager -android.app.AlarmManager -android.telephony.TelephonyManager -android.bluetooth.BluetoothAdapter -com.android.internal.os.SomeArgs -android.os.LocaleList -android.view.WindowManagerGlobal -android.media.AudioSystem -android.ddm.DdmHandleAppName -android.provider.Settings -android.view.ViewRootImpl -android.net.ConnectivityManager +android.app.ActivityManager$OnUidImportanceListener +android.app.ActivityTaskManager android.app.ActivityThread -android.os.BaseBundle -android.util.ArraySet -android.view.View -android.os.ServiceManager -android.view.ViewTreeObserver -android.hardware.input.InputManager -android.os.UEventObserver -android.app.NotificationManager -android.hardware.display.DisplayManagerGlobal -android.os.Binder +android.app.admin.DevicePolicyManager +android.app.AlarmManager +android.app.Application android.app.AppOpsManager -android.content.ContentResolver android.app.backup.BackupManager -android.util.ArrayMap -android.os.Looper -android.graphics.Bitmap -android.view.textservice.TextServicesManager -com.android.internal.inputmethod.InputMethodUtils +android.app.ContextImpl +android.app.INotificationManager +android.app.Notification$BigPictureStyle +android.app.Notification$BigTextStyle +android.app.Notification$InboxStyle +android.app.NotificationChannel +android.app.NotificationChannelGroup +android.app.NotificationManager +android.app.PendingIntent +android.app.PendingIntent$OnFinished android.app.QueuedWork -android.graphics.TemporaryBuffer -android.widget.ImageView +android.app.ResourcesManager +android.app.WallpaperManager +android.app.WindowConfiguration +android.bluetooth.BluetoothAdapter +android.bluetooth.BluetoothDevice +android.bluetooth.BluetoothProfile +android.bluetooth.IBluetoothA2dp +android.bluetooth.IBluetoothHeadsetPhone +android.bluetooth.IBluetoothHidDevice +android.bluetooth.IBluetoothHidHost +android.bluetooth.IBluetoothMap +android.bluetooth.IBluetoothPan +android.bluetooth.IBluetoothPbap +android.bluetooth.IBluetoothSap +android.content.ClipboardManager$OnPrimaryClipChangedListener +android.content.ComponentName +android.content.ContentProvider$PipeDataWriter +android.content.ContentResolver +android.content.Context +android.content.Intent +android.content.pm.PackageManager$OnPermissionsChangedListener +android.content.pm.VersionedPackage +android.content.res.Configuration +android.content.SharedPreferences$OnSharedPreferenceChangeListener +android.database.CursorWindow +android.database.sqlite.SQLiteCompatibilityWalFlags +android.database.sqlite.SQLiteDatabase$CursorFactory android.database.sqlite.SQLiteGlobal -android.view.autofill.Helper -android.text.method.SingleLineTransformationMethod -com.android.internal.os.RuntimeInit -android.view.inputmethod.InputMethodManager +android.database.sqlite.SQLiteTransactionListener +android.ddm.DdmHandleAppName +android.graphics.Bitmap +android.graphics.Canvas +android.graphics.drawable.AdaptiveIconDrawable +android.graphics.drawable.ColorDrawable +android.graphics.drawable.GradientDrawable +android.graphics.drawable.Icon +android.graphics.drawable.InsetDrawable +android.graphics.drawable.RippleDrawable +android.graphics.drawable.VectorDrawable$VGroup +android.graphics.ImageDecoder +android.graphics.Rect +android.graphics.TemporaryBuffer +android.hardware.biometrics.BiometricSourceType +android.hardware.display.ColorDisplayManager$ColorDisplayManagerInternal +android.hardware.display.DisplayManagerGlobal +android.hardware.display.NightDisplayListener$Callback +android.hardware.input.InputManager +android.hardware.input.InputManager$InputDeviceListener +android.hardware.SensorPrivacyManager android.hardware.SystemSensorManager -android.database.CursorWindow -android.text.TextUtils +android.icu.impl.OlsonTimeZone +android.icu.text.BreakIterator +android.icu.text.Collator +android.icu.text.DateFormat$BooleanAttribute +android.icu.text.DateTimePatternGenerator$DTPGflags +android.icu.text.PluralRules$Operand +android.icu.util.TimeZone +android.location.GpsStatus$Listener +android.location.LocationListener +android.media.AudioManager +android.media.MediaRouter android.media.PlayerBase -android.app.ResourcesManager -android.os.Message -android.view.accessibility.AccessibilityManager -android.app.Notification -android.provider.ContactsContract$ContactNameColumns -android.provider.CalendarContract$EventsColumns -android.provider.CalendarContract$CalendarColumns -android.provider.CalendarContract$SyncColumns -android.provider.ContactsContract$ContactsColumns -android.content.pm.PackageManager$OnPermissionsChangedListener -android.net.IpConfiguration$ProxySettings -android.provider.ContactsContract$ContactOptionsColumns -android.net.wifi.SupplicantState -android.provider.ContactsContract$ContactStatusColumns -android.view.accessibility.AccessibilityManager$TouchExplorationStateChangeListener -android.provider.CalendarContract$CalendarSyncColumns -android.bluetooth.BluetoothProfile$ServiceListener -android.provider.ContactsContract$ContactCounts +android.media.session.MediaSessionManager +android.net.apf.ApfCapabilities +android.net.ConnectivityManager +android.net.ConnectivityManager$OnNetworkActiveListener +android.net.ConnectivityThread$Singleton android.net.IpConfiguration$IpAssignment -android.text.TextWatcher -android.graphics.Bitmap$CompressFormat -android.location.LocationListener -sun.security.jca.Providers -java.lang.CharSequence -android.icu.util.ULocale -dalvik.system.BaseDexClassLoader -android.icu.text.BreakIterator -libcore.net.NetworkSecurityPolicy -android.icu.text.UnicodeSet -com.android.org.conscrypt.TrustedCertificateStore$PreloadHolder -android.app.SearchManager -android.os.Build -android.app.ContextImpl -android.app.WallpaperManager -android.security.net.config.ApplicationConfig -android.animation.LayoutTransition -android.widget.TextView -com.android.internal.logging.MetricsLogger -android.renderscript.RenderScriptCacheDir -android.os.Process +android.net.IpConfiguration$ProxySettings +android.net.IpPrefix +android.net.LinkAddress +android.net.LinkProperties +android.net.Network +android.net.NetworkCapabilities +android.net.NetworkInfo +android.net.NetworkInfo$State +android.net.NetworkRequest +android.net.NetworkRequest$Type +android.net.RouteInfo +android.net.StringNetworkSpecifier +android.net.TrafficStats +android.net.UidRange +android.net.Uri$HierarchicalUri +android.net.Uri$StringUri +android.net.wifi.WifiManager +android.net.wifi.WifiManager$SoftApCallback +android.os.AsyncResult +android.os.AsyncTask +android.os.BinderProxy +android.os.Bundle +android.os.DeadObjectException +android.os.Environment +android.os.FileObserver android.os.Handler -android.content.Context -android.graphics.drawable.AdaptiveIconDrawable +android.os.IDeviceIdleController +android.os.LocaleList +android.os.Looper +android.os.Message +android.os.ParcelUuid +android.os.Process +android.os.RecoverySystem +android.os.ServiceManager +android.os.storage.StorageManager +android.os.StrictMode +android.os.Trace +android.os.WorkSource +android.os.WorkSource$WorkChain +android.permission.PermissionManager android.provider.FontsContract -android.text.style.SuggestionSpan -android.graphics.drawable.VectorDrawable$VGroup -android.view.ViewStub -android.text.style.MetricAffectingSpan -android.content.SharedPreferences$OnSharedPreferenceChangeListener -android.app.PendingIntent +android.provider.Settings$SettingNotFoundException +android.renderscript.RenderScriptCacheDir +android.security.IKeyChainService +android.security.keystore.AndroidKeyStoreProvider +android.security.net.config.ApplicationConfig +android.security.net.config.SystemCertificateSource$NoPreloadHolder +android.telecom.PhoneAccountHandle +android.telephony.AnomalyReporter +android.telephony.CellSignalStrengthCdma +android.telephony.CellSignalStrengthGsm +android.telephony.CellSignalStrengthLte +android.telephony.CellSignalStrengthNr +android.telephony.CellSignalStrengthTdscdma +android.telephony.CellSignalStrengthWcdma +android.telephony.DataSpecificRegistrationInfo +android.telephony.emergency.EmergencyNumber +android.telephony.ims.ImsMmTelManager$CapabilityCallback$CapabilityBinder +android.telephony.ims.ImsMmTelManager$RegistrationCallback$RegistrationBinder +android.telephony.ims.ImsReasonInfo +android.telephony.ims.ProvisioningManager$Callback$CallbackBinder +android.telephony.ModemActivityInfo +android.telephony.ModemInfo +android.telephony.NetworkRegistrationInfo +android.telephony.NetworkService +android.telephony.TelephonyManager +android.telephony.VoiceSpecificRegistrationInfo +android.text.format.DateFormat +android.text.method.SingleLineTransformationMethod +android.text.Selection$MemoryTextWatcher android.text.SpanWatcher -android.widget.FrameLayout -android.net.NetworkRequest$Type -android.net.NetworkInfo$State -android.graphics.drawable.GradientDrawable android.text.style.AlignmentSpan -android.widget.LinearLayout android.text.style.CharacterStyle -android.view.View$OnApplyWindowInsetsListener -android.view.MenuItem +android.text.style.LeadingMarginSpan +android.text.style.LineBackgroundSpan +android.text.style.LineHeightSpan +android.text.style.MetricAffectingSpan android.text.style.ReplacementSpan -android.graphics.drawable.Icon +android.text.style.SuggestionSpan +android.text.style.TabStopSpan +android.text.TextUtils +android.text.TextWatcher +android.transition.ChangeClipBounds +android.transition.ChangeImageTransform +android.transition.ChangeTransform +android.util.ArrayMap +android.util.ArraySet +android.util.DisplayMetrics +android.util.EventLog +android.util.Log +android.util.Patterns +android.view.AbsSavedState$1 +android.view.accessibility.AccessibilityManager +android.view.accessibility.AccessibilityManager$AccessibilityServicesStateChangeListener +android.view.accessibility.AccessibilityManager$TouchExplorationStateChangeListener +android.view.accessibility.AccessibilityNodeIdManager +android.view.autofill.AutofillManager +android.view.autofill.Helper +android.view.Choreographer +android.view.inputmethod.InputMethodManager +android.view.IWindowManager +android.view.PointerIcon +android.view.RemoteAnimationAdapter +android.view.ThreadedRenderer +android.view.View +android.view.View$OnHoverListener +android.view.ViewRootImpl +android.view.ViewStub +android.view.ViewStub$OnInflateListener +android.view.ViewTreeObserver +android.view.WindowManager$LayoutParams +android.view.WindowManagerGlobal +android.widget.ActionMenuPresenter$OverflowMenuButton +android.widget.ActionMenuView android.widget.Button +android.widget.CheckBox +android.widget.FrameLayout +android.widget.ImageButton +android.widget.ImageView +android.widget.LinearLayout +android.widget.RelativeLayout +android.widget.SeekBar +android.widget.Space +android.widget.TextView +android.widget.Toolbar +byte[] +com.android.ims.ImsManager +com.android.internal.logging.MetricsLogger +com.android.internal.os.BackgroundThread +com.android.internal.os.BinderInternal +com.android.internal.os.BinderInternal$BinderProxyLimitListener +com.android.internal.os.RuntimeInit +com.android.internal.os.SomeArgs +com.android.internal.policy.DecorView +com.android.internal.statusbar.IStatusBarService +com.android.internal.telephony.AppSmsManager +com.android.internal.telephony.CallerInfoAsyncQuery$OnQueryCompleteListener +com.android.internal.telephony.CarrierActionAgent +com.android.internal.telephony.cat.CatService +com.android.internal.telephony.cat.IconLoader +com.android.internal.telephony.cat.RilMessageDecoder +com.android.internal.telephony.cdma.CdmaSubscriptionSourceManager +com.android.internal.telephony.cdma.EriManager +com.android.internal.telephony.CellularNetworkValidator +com.android.internal.telephony.CommandException +com.android.internal.telephony.dataconnection.DataConnection$DcActivatingState +com.android.internal.telephony.dataconnection.DataConnection$DcActiveState +com.android.internal.telephony.dataconnection.DataConnection$DcInactiveState +com.android.internal.telephony.dataconnection.DataEnabledSettings +com.android.internal.telephony.dataconnection.DcTracker +com.android.internal.telephony.euicc.EuiccCardController +com.android.internal.telephony.euicc.EuiccController +com.android.internal.telephony.GsmAlphabet +com.android.internal.telephony.GsmCdmaCallTracker +com.android.internal.telephony.GsmCdmaPhone +com.android.internal.telephony.IccPhoneBookInterfaceManager +com.android.internal.telephony.IccSmsInterfaceManager +com.android.internal.telephony.ims.ImsResolver +com.android.internal.telephony.imsphone.ImsExternalCallTracker +com.android.internal.telephony.imsphone.ImsPhone +com.android.internal.telephony.imsphone.ImsPhoneCallTracker +com.android.internal.telephony.ims.RcsMessageStoreController +com.android.internal.telephony.IntentBroadcaster +com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy +com.android.internal.telephony.metrics.TelephonyMetrics +com.android.internal.telephony.MultiSimSettingController +com.android.internal.telephony.nano.CarrierIdProto$CarrierAttribute +com.android.internal.telephony.nano.CarrierIdProto$CarrierId +com.android.internal.telephony.nano.TelephonyProto$RilDataCall +com.android.internal.telephony.nano.TelephonyProto$SmsSession$Event +com.android.internal.telephony.nano.TelephonyProto$TelephonyCallSession$Event$RilCall +com.android.internal.telephony.NitzStateMachine +com.android.internal.telephony.PhoneConfigurationManager +com.android.internal.telephony.PhoneFactory +com.android.internal.telephony.PhoneSwitcher +com.android.internal.telephony.ProxyController +com.android.internal.telephony.RadioConfig +com.android.internal.telephony.RIL +com.android.internal.telephony.RILRequest +com.android.internal.telephony.RilWakelockInfo +com.android.internal.telephony.ServiceStateTracker +com.android.internal.telephony.SimActivationTracker +com.android.internal.telephony.SmsApplication +com.android.internal.telephony.SmsBroadcastUndelivered +com.android.internal.telephony.SmsStorageMonitor +com.android.internal.telephony.SmsUsageMonitor +com.android.internal.telephony.SubscriptionController +com.android.internal.telephony.SubscriptionInfoUpdater +com.android.internal.telephony.TelephonyComponentFactory +com.android.internal.telephony.TelephonyDevController +com.android.internal.telephony.TelephonyTester +com.android.internal.telephony.uicc.AdnRecordCache +com.android.internal.telephony.uicc.UiccCardApplication +com.android.internal.telephony.uicc.UiccController +com.android.internal.telephony.uicc.UiccProfile +com.android.internal.telephony.uicc.UiccStateChangedLauncher +com.android.internal.telephony.uicc.UsimFileHandler +com.android.internal.telephony.uicc.VoiceMailConstants +com.android.internal.util.LatencyTracker +com.android.internal.util.StateMachine$SmHandler +com.android.okhttp.OkHttpClient +com.android.okhttp.okio.AsyncTimeout +com.android.okhttp.okio.SegmentPool +com.android.phone.ecc.nano.ProtobufEccData$CountryInfo +com.android.phone.ecc.nano.ProtobufEccData$EccInfo +com.android.server.sip.SipWakeupTimer +com.android.server.SystemConfig +dalvik.system.BaseDexClassLoader +dalvik.system.BlockGuard +dalvik.system.CloseGuard +dalvik.system.RuntimeHooks +dalvik.system.SocketTagger +java.io.BufferedReader +java.lang.AssertionError +java.lang.Boolean +java.lang.Byte +java.lang.Character +java.lang.CharSequence +java.lang.Class +java.lang.IllegalAccessException +java.lang.IllegalStateException +java.lang.NoSuchMethodException +java.lang.NullPointerException +java.lang.Object +java.lang.Object[] +java.lang.ref.FinalizerReference +java.lang.Runnable +java.lang.SecurityException +java.lang.Short +java.lang.String[] +java.lang.System +java.lang.Thread +java.lang.Throwable +java.lang.UnsatisfiedLinkError +java.net.Inet6Address +java.net.Socket +java.net.SocketException +java.nio.Bits +java.nio.charset.Charset +java.security.interfaces.RSAPrivateKey +java.security.Provider +java.util.Collections +java.util.concurrent.Executor +java.util.GregorianCalendar +java.util.Locale +java.util.Locale$NoImagePreloadHolder +java.util.Scanner +java.util.Set +java.util.TimeZone +javax.net.SocketFactory +javax.net.ssl.HttpsURLConnection +javax.net.ssl.HttpsURLConnection$NoPreloadHolder +javax.net.ssl.SSLContext +javax.net.ssl.SSLSessionContext +javax.net.ssl.SSLSocketFactory +libcore.io.Libcore +libcore.io.Memory +libcore.net.NetworkSecurityPolicy +libcore.timezone.TimeZoneFinder +org.apache.http.params.HttpParams +sun.misc.Cleaner +sun.nio.ch.FileChannelImpl +sun.nio.ch.FileChannelImpl$Unmapper +sun.nio.fs.UnixChannelFactory +sun.security.jca.Providers |