We had expected that ProGuard removed all assertions already, so this is probably worth a bit of investigation.
Commit for the d8 change: 70ed356560528473397935e192d7f293a84c0fee
There was a bug in our build code, so actual diff is from the next commit: d83565ccb3c0860f3d42fcfc9d8cd9c9a9772772
Here's the output of: tools/binary_size/diagnose_bloat.py d83565c --cloud
Showing 3,492 symbols (3,490 -> 3,492 unique) with total pss: 15250 bytes
Histogram of symbols based on PSS:
(-512,-256]: 1 (-64,-32]: 8 (-8,-4]: 121 [1,2): 167 [8,16): 932 [64,128): 1
(-256,-128]: 3 (-32,-16]: 35 (-4,-2]: 346 [2,4): 1305 [16,32): 29 [1024,2048): 1
(-128,-64]: 4 (-16,-8]: 48 (-2,-1]: 15 [4,8): 473 [32,64): 3
.text=0 bytes .rodata=0 bytes .data.rel.ro=0 bytes .data=0 bytes .bss=0 bytes .dex=1520 bytes .dex.method=13.5kb .pak.translations=0 bytes .pak.nontranslated=0 bytes .other=-110 bytes total=14.9kb
Number of unique paths: 1423
Section Legend: t=.text, r=.rodata, R=.data.rel.ro, d=.data, b=.bss, x=.dex, m=.dex.method, p=.pak.translations, P=.pak.nontranslated, o=.other
Index | Running Total | Section@Address | Δ PSS (Δ size_without_padding) | Path
------------------------------------------------------------
~ 0) 1520 (10.0%) x@0x0 1520 (33852->35372) {no path}
* Unattributed Dex
~ 1) 1205 (7.9%) m@0x0 -315 (2399->2084) third_party/android_deps/com_android_support_recyclerview_v7_java/classes.jar
RecyclerView#<init>
~ 2) 1019 (6.7%) m@0x0 -186 (1070->884) chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java
DecoderService$1#decodeImage
~ 3) 845 (5.5%) m@0x0 -174 (1672->1498) chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java
TabListSceneLayer#pushLayers$5c35a67c
~ 4) 698 (4.6%) m@0x0 -147 (1778->1631) third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/TiclStateManager.java
TiclStateManager#saveTicl
~ 5) 587 (3.8%) o@0x0 -111 (0->0) {no path}
Overhead: APK file
~ 6) 692 (4.5%) m@0x0 105 (155->260) base/android/java/src/org/chromium/base/ApplicationStatus.java
ApplicationStatus#<clinit>
~ 7) 593 (3.9%) m@0x0 -99 (860->761) media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
MediaCodecBridge#queueSecureInputBuffer
~ 8) 527 (3.5%) m@0x0 -66 (2183->2117) third_party/android_deps/com_android_support_appcompat_v7_java/classes.jar
LinearLayoutCompat#onMeasure
~ 9) 463 (3.0%) m@0x0 -64 (367->303) media/capture/video/android/java/src/org/chromium/media/PhotoCapabilities.java
PhotoCapabilities$Builder#build
~ 10) 409 (2.7%) m@0x0 -54 (1725->1671) chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java
ContextualSearchPanel#getUpdatedSceneOverlayTree
~ 11) 355 (2.3%) m@0x0 -54 (2115->2061) android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
WebViewChromiumFactoryProvider#initialize
~ 12) 309 (2.0%) m@0x0 -46 (826->780) media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
MediaDrmBridge#updateSession
~ 13) 265 (1.7%) m@0x0 -44 (287->243) third_party/protobuf/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
CodedInputStream$StreamDecoder#readRawLittleEndian64
~ 14) 221 (1.4%) m@0x0 -44 (753->709) chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java
FeedNewTabPage#<init>
~ 15) 181 (1.2%) m@0x0 -40 (286->246) third_party/protobuf/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
CodedInputStream$ArrayDecoder#readRawLittleEndian64
~ 16) 218 (1.4%) m@0x0 37 (949->986) content/public/android/java/src/org/chromium/content/browser/MotionEventSynthesizerImpl.java
MotionEventSynthesizerImpl#inject
~ 17) 254 (1.7%) m@0x0 36 (775->811) content/public/android/java/src/org/chromium/content/browser/picker/InputDialogContainer.java
InputDialogContainer#showPickerDialog
~ 18) 289 (1.9%) m@0x0 35 (970->1005) third_party/blink/public/android_mojo_bindings_java_sources.srcjar
PaymentMethodData#decode
~ 19) 257 (1.7%) m@0x0 -32 (509->477) third_party/android_deps/com_android_support_multidex_java/classes.jar
MultiDexExtractor#load
~ 20) 225 (1.5%) m@0x0 -32 (965->933) chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackScroller.java
StackScroller$SplineStackScroller#fling
~ 21) 256 (1.7%) m@0x0 31 (3362->3393) third_party/android_deps/com_android_support_support_fragment_java/classes.jar
FragmentManagerImpl#moveToState
~ 22) 287 (1.9%) m@0x0 31 (1540->1571) third_party/android_deps/com_android_support_appcompat_v7_java/classes.jar
Toolbar#onMeasure
~ 23) 256 (1.7%) m@0x0 -31 (1589->1558) android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java
WebViewChromium#init
~ 24) 228 (1.5%) m@0x0 -28 (949->921) chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionSiteBreakdownView.java
DataReductionSiteBreakdownView#updateSiteBreakdown
~ 25) 256 (1.7%) m@0x0 28 (459->487) chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService2.java
DownloadNotificationService2#notifyDownloadPaused$1575eb66
~ 26) 229 (1.5%) m@0x0 -27 (502->475) third_party/protobuf/java/core/src/main/java/com/google/protobuf/CodedInputStream.java
Comment 1 by agrieve@chromium.org
, Jun 27 2018Notables from the full diff: + 44) 193 (1.3%) m@0x0 20 (0->20) $APK/java/lang/Class Class#desiredAssertionStatus ~ 452) 5149 (33.8%) m@0x0 14 (58->72) chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java NewTabPage#<clinit> ~ 453) 5163 (33.9%) m@0x0 14 (58->72) chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java NewTabPageAdapter#<clinit> ~ 454) 5177 (33.9%) m@0x0 14 (58->72) chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java NewTabPageLayout#<clinit> ~ 455) 5191 (34.0%) m@0x0 14 (58->72) chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java NewTabPageRecyclerView#<clinit> ~ 456) 5205 (34.1%) m@0x0 14 (58->72) chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java NewTabPageUma#<clinit> ~ 457) 5219 (34.2%) m@0x0 14 (58->72) chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java NewTabPageView#<clinit> ~ 458) 5233 (34.3%) m@0x0 14 (242->256) services/device/public/mojom/mojom_java_sources.srcjar NfcError#decode ~ 459) 5247 (34.4%) m@0x0 14 (73->87) content/public/android/java/src/org/chromium/content/browser/NfcHost.java NfcHost#<clinit> ~ 460) 5261 (34.5%) m@0x0 14 (58->72) services/device/nfc/android/java/src/org/chromium/device/nfc/NfcImpl.java NfcImpl#<clinit> ~ 461) 5275 (34.6%) m@0x0 14 (272->286) services/device/public/mojom/mojom_java_sources.srcjar NfcWatchOptions#decode ~ 462) 5289 (34.7%) m@0x0 14 (57->71) chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderBase.java NotificationBuilderBase#<clinit> ~ 463) 5303 (34.8%) m@0x0 14 (57->71) chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderForO.java NotificationBuilderForO#<clinit> ~ 464) 5317 (34.9%) m@0x0 14 (57->71) chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationCompatBuilder.java NotificationCompatBuilder#<clinit> ~ 465) 5331 (35.0%) m@0x0 14 (57->71) chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationManagerProxyImpl.java NotificationManagerProxyImpl#<clinit> ~ 466) 5345 (35.0%) m@0x0 14 (88->102) chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java NotificationPlatformBridge#<clinit> ~ 467) 5359 (35.1%) m@0x0 14 (58->72) chrome/android/java/src/org/chromium/chrome/browser/preferences/NotificationsPreferences.java NotificationsPreferences#<clinit>