Richard Uhler
2076732af1
Merge "Reduce LoadedApkAssets LRU cache size." into pi-dev am: 31ec39297c
...
am: ce72108f43
Change-Id: I3af270fb97fb1c92d1bae697df0c4164d9afa5f6
2018-05-22 04:26:45 -07:00
Richard Uhler
ce72108f43
Merge "Reduce LoadedApkAssets LRU cache size." into pi-dev
...
am: 31ec39297c
Change-Id: I7a8163ca451f1d930746233dfb2b6add18dc5bb3
2018-05-22 04:18:05 -07:00
TreeHugger Robot
31ec39297c
Merge "Reduce LoadedApkAssets LRU cache size." into pi-dev
2018-05-22 11:09:18 +00:00
Richard Uhler
7bd7a369e4
Reduce LoadedApkAssets LRU cache size.
...
The cached apk assets can take up multiple megabytes of .apk mmap and
native memory for associated data structures. Reduce the cache size
for potential multi-megabyte memory savings with hopefully no
noticeable performance impacts.
In particular, rough estimates of the memory and performance impacts
of this change were evaluated by starting the launcher app,
sampling system server PSS with dumpsys meminfo and cache stats using
dumpsys activity for a few different cache sizes:
LRU Size 1: cached apks: total= 1 created=0 evicted=33 hit= 0 miss=34 max=1 TOTAL PSS=187542
LRU Size 3: cached apks: total= 3 created=0 evicted=12 hit=19 miss=15 max=3 TOTAL PSS=190606
LRU Size 15: cached apks: total=15 created=0 evicted= 0 hit=19 miss=15 max=15 TOTAL PSS=199350
LRU Size 100: cached apks: total=15 created=0 evicted= 0 hit=19 miss=15 max=100 TOTAL PSS=201416
Comparing cache stats after launching the settings app:
LRU Size 3: cached apks: total=3 created=0 evicted=5 hit=14 miss=8 max=3
LRU Size 15: cached apks: total=6 created=0 evicted=0 hit=18 miss=6 max=15
Running performance tests locally to ensure no clear regression in app
startup:
app-startup/benchmark-app-hermetic/cold-dropcache-test:
LRU 15 3 3
activityStart: 40.47 38.53 39.27
bindApplication: 24.40 24.53 24.93
draw: 4.27 4.33 4.07
layout: 0.73 1.07 0.73
onCreate: 9.40 9.00 8.53
totalLaunchTime: 183.13 183.27 187.07
app-startup/hermetic-apps/cold-dropcache-test:
LRU 15 15 3 3
Calculator_avg: 333.9 333.1 343.3 334.6
Calculator_max: 345.0 360.0 370.0 363.0
Calculator_median: 333.5 331.5 343.5 333.5
Calculator_min: 320.0 317.0 320.0 311.0
Calculator_std_dev: 6.62 13.26 18.22 16.51
Clock_avg: 510.0 511.2 509.2 512.6
Clock_max: 529.0 528.0 530.0 529.0
Clock_median: 510.5 509.0 503.5 512.0
Clock_min: 498.0 495.0 487.0 492.0
Clock_std_dev: 7.70 11.71 15.25 11.07
Contacts_avg: 457.7 527.3 507.3 543.9
Contacts_max: 602.0 622.0 591.0 588.0
Contacts_median: 410.5 568.5 568.0 580.0
Contacts_min: 390.0 374.0 366.0 394.0
Contacts_std_dev: 85.64 96.80 88.80 72.97
Phone_avg: 6073.1 6109.7 6110.8 6115.8
Phone_max: 6196.0 6208.0 6180.0 6222.0
Phone_median: 6070.0 6117.5 6100.0 6133.5
Phone_min: 5982.0 5990.0 6061.0 5994.0
Phone_std_dev: 61.49 67.35 34.55 60.17
Settings_avg: 457.9 446.6 451.6 428.7
Settings_max: 487.0 468.0 494.0 449.0
Settings_median: 460.0 450.0 444.5 424.0
Settings_min: 423.0 421.0 431.0 420.0
Settings_std_dev: 21.21 12.02 20.46 9.71
Bug: 79115008
Test: Device boots.
Test: dumpsys activity all shows ResourcesManager max cache size of 3.
Change-Id: I7225b6978fac6197c27bec23d2b477fb1f5aee43
2018-05-22 10:52:40 +01:00
Svet Ganov
a2b855fc01
Merge "Allow UiAutomation being used off the main thread" into pi-dev am: c81ed627ab
...
am: 13a27a82a2
Change-Id: Ib7645f1b350ba0e7ed571eb98e739d0a31c4e435
2018-05-21 13:25:50 -07:00
Svet Ganov
13a27a82a2
Merge "Allow UiAutomation being used off the main thread" into pi-dev
...
am: c81ed627ab
Change-Id: I7fe9c3d9eb3f291698501ef23fdd449f41d0e3d1
2018-05-21 13:20:56 -07:00
TreeHugger Robot
c81ed627ab
Merge "Allow UiAutomation being used off the main thread" into pi-dev
2018-05-21 20:03:10 +00:00
Svet Ganov
452dbebd0e
Allow UiAutomation being used off the main thread
...
Test: cts-tradefed run cts -m CtsUiAutomationTestCases
cts-tradefed run cts -m CtsAccessibilityServiceTestCases
cts-tradefed run cts-instant -m CtsAccessibilityServiceTestCases
bug:80024164
Change-Id: I72c565d28f4cbcf6775535fb846b268b785a6b34
2018-05-21 09:55:32 -07:00
Jorim Jaggi
da6e14bc53
Merge "Schedule trimMemory after drawing the frame" into pi-dev am: 6b8014f5c8
...
am: 7b7d830f5a
Change-Id: I7b56dc55c46db0dff80b3d0ace439f5e83599100
2018-05-18 12:24:55 -07:00
Jorim Jaggi
7b7d830f5a
Merge "Schedule trimMemory after drawing the frame" into pi-dev
...
am: 6b8014f5c8
Change-Id: I72c7feccb531f2a19aa2b19ea860802e0d779578
2018-05-18 11:57:44 -07:00
Jorim Jaggi
6b8014f5c8
Merge "Schedule trimMemory after drawing the frame" into pi-dev
2018-05-18 18:26:03 +00:00
Selim Cinek
bb04645502
Merge "Keep notification when sending smart reply." into pi-dev am: f75019b810
...
am: 8cfe436bb1
Change-Id: I9868acc1aa75a4389890634abdec18cef286ab5d
2018-05-18 09:42:56 -07:00
Selim Cinek
8cfe436bb1
Merge "Keep notification when sending smart reply." into pi-dev
...
am: f75019b810
Change-Id: Idb981e0977880c6bf47267b4ecef793adad3e6d3
2018-05-18 09:32:18 -07:00
Jorim Jaggi
b29e318e03
Schedule trimMemory after drawing the frame
...
Fixes jank issues where trimMemory gets scheduled during an
animation. trimMemory likely hits code that is not in the
page cache anymore, leading to high execution time because of page
misses. Scheduling it after the next frame has been drawn
minimizes the risk that this page miss actually causes jank.
Test: Boot, switch between a couple of apps.
Bug: 78611607
Change-Id: Ia1fc411fbe6ca07861183ae484124406681118e5
2018-05-18 18:26:30 +02:00
Kenny Guy
8cc15d2ebf
Keep notification when sending smart reply.
...
If an app cancels a notification while we are
sending a smart reply then don't dismiss the
notification.
Bug: 79120026
Test: atest NotificationEntryManagerTest
Test: atest SmartReplyControllerTest
Test: atest statusbar.NotificationListenerTest
Test: atest NotificationRemoteInputManagerTest
Change-Id: Ibbc0014ae0aeb12b58be13c041d720903251490f
2018-05-17 20:16:25 +01:00
Robert Benea
1dda2f4e40
Merge "Replace HashMap with ArrayMap for services"
2018-05-17 16:02:08 +00:00
Wale Ogunwale
5ab2be0941
Merge "Adde back check to make sure Activity.recreate() is called on main thread." into pi-dev am: 5f8e42f7f0
...
am: a0f7325823
Change-Id: Ib0e04145df03616a1b0109634d55ea6972a76b6d
2018-05-16 22:23:26 -07:00
Wale Ogunwale
a0f7325823
Merge "Adde back check to make sure Activity.recreate() is called on main thread." into pi-dev
...
am: 5f8e42f7f0
Change-Id: I9c110947941b4ccb9404b350eb507ec30e701ffc
2018-05-16 22:10:57 -07:00
TreeHugger Robot
5f8e42f7f0
Merge "Adde back check to make sure Activity.recreate() is called on main thread." into pi-dev
2018-05-17 05:01:33 +00:00
Shaowei Shen
59b814ff67
Merge "Update javadoc of BackupObserver"
2018-05-17 01:45:21 +00:00
Wale Ogunwale
0527d9129d
Adde back check to make sure Activity.recreate() is called on main thread.
...
Change-Id: Id8fa7e1c17ee3d42a19c82dc8cc1fec2de1757d1
Fixes: 79703568
Test: Existing test pass.
2018-05-16 17:23:48 -07:00
Dianne Hackborn
dab58f3b55
Merge "More app ops fg/bg tuning" into pi-dev am: cd835ba418
...
am: 863d2a46db
Change-Id: I8f5756cbecc59297d252f87de1829087b67c2575
2018-05-16 13:17:51 -07:00
Dianne Hackborn
863d2a46db
Merge "More app ops fg/bg tuning" into pi-dev
...
am: cd835ba418
Change-Id: Id6a026dabee96a175aac5b40b80487c8ed1ab511
2018-05-16 13:06:47 -07:00
Dianne Hackborn
cd835ba418
Merge "More app ops fg/bg tuning" into pi-dev
2018-05-16 19:48:54 +00:00
Robert Benea
1901a5b483
Replace HashMap with ArrayMap for services
...
The number of services is pretty limited (100ish), use the more
memory efficient Map.
Test: tested on android go
Change-Id: I092c6816afba77fde4195c68a211804d4a561b77
2018-05-16 12:06:41 -07:00
Jason Monk
44aaa2a034
Merge "Add some null checks to slices" into pi-dev am: 0689312acb
...
am: 9473edd1da
Change-Id: I4f87ba2997047e0721a0c1e9ce3f4047af17c709
2018-05-16 07:59:22 -07:00
Daniel Sandler
d5aec11050
Merge "Improved notification interruptiveness calculation." into pi-dev am: 4da6e1f3b0
...
am: 63257f50b5
Change-Id: Ia8f3ef78d801759c8fae8e76f2838609ef861e55
2018-05-16 07:51:27 -07:00
Jason Monk
9473edd1da
Merge "Add some null checks to slices" into pi-dev
...
am: 0689312acb
Change-Id: Id936f04e9b54b565547b612cc341f9b7672bb186
2018-05-16 07:46:41 -07:00
Daniel Sandler
63257f50b5
Merge "Improved notification interruptiveness calculation." into pi-dev
...
am: 4da6e1f3b0
Change-Id: Iab0568f6dde4b247480b1fc259d3e65e50074cd9
2018-05-16 07:41:39 -07:00
TreeHugger Robot
0689312acb
Merge "Add some null checks to slices" into pi-dev
2018-05-16 14:27:42 +00:00
Daniel Sandler
4da6e1f3b0
Merge "Improved notification interruptiveness calculation." into pi-dev
2018-05-16 14:23:38 +00:00
Dan Sandler
7d67bd4fd7
Improved notification interruptiveness calculation.
...
Apparently comparing Spannables is dangerous because
the various Span classes do not implement .equals() in any
meaningful way, so all CharSequences must be converted to
flat Strings before being compared.
Lots of additional debug code remains, for the next time we
don't understand why an innocuous notification update
appears to be interruptive.
Test: atest com.android.server.notification.NotificationManagerServiceTest
atest com.android.server.notification.NotificationTest
Bug: 78643290
Change-Id: I1c282238687f28b5b197e28a4b878dc697049f4d
2018-05-16 08:32:09 -04:00
shaoweishen
71f6a351a3
Update javadoc of BackupObserver
...
Update javadoc description of IBackupObserver.We report failure to
backupFinished only if transport failure.
Bug: 79235996
Test: none
Change-Id: I1286b5fdda5e1448b9daff93508a01d63e1b12ea
2018-05-16 09:57:54 +08:00
Jason Monk
8938932a0a
Add some null checks to slices
...
It'll make developer debugging experience sooo much nicer.
Test: manual
Bug: 79773776
Change-Id: Ie0a826c5572752e2bb50db7669374a1698333770
2018-05-15 21:13:16 -04:00
Jason Monk
77fe017cc1
Merge "Add shell command to get slice permissions" into pi-dev am: 33da7043af
...
am: fb9ecfc861
Change-Id: I00c55d4bf46985dbd4a638cac897ed2465b702bf
2018-05-15 17:58:11 -07:00
Jason Monk
fb9ecfc861
Merge "Add shell command to get slice permissions" into pi-dev
...
am: 33da7043af
Change-Id: I14985fc75c6066cc0c21df870300d435d5127299
2018-05-15 17:47:41 -07:00
TreeHugger Robot
33da7043af
Merge "Add shell command to get slice permissions" into pi-dev
2018-05-16 00:12:32 +00:00
Jason Monk
7f01f3b619
Add shell command to get slice permissions
...
Lets shell/root get a list of pkgs that have access to any slices
within an authority.
Test: manual
Bug: 78136892
Change-Id: Id33fd458ed5ad73b30f69b3a464676428344e446
2018-05-15 18:55:49 -04:00
Kodlee Yin
f020d13008
Merge "Update RemoteInput#setChoices documentation" into pi-dev am: bef37f23d6
...
am: f4a2505e3e
Change-Id: I8490319bf518be784fa73902bc4535f22e96727a
2018-05-15 15:14:54 -07:00
Kodlee Yin
f4a2505e3e
Merge "Update RemoteInput#setChoices documentation" into pi-dev
...
am: bef37f23d6
Change-Id: Ibecefb1b3dcf0350190cb2d0de5bed149786d294
2018-05-15 14:28:26 -07:00
Kodlee Yin
4b3a547107
Update RemoteInput#setChoices documentation
...
The behavior that #setChoices didn't render on mobile devices from apps
that target SDK < P went undocumented. Because this is changing in P and
above, this documentation needs to point out this behavior.
Also updated formatting and style of docs to improve interop with
kotlin.
Test: none
Bug: 79244189
Change-Id: Iabfe3b2ddcc369e5ec15f9773481468cbc48dabb
2018-05-15 19:46:57 +00:00
Amith Yamasani
aa8724bc31
Merge "Rethrow SecurityExceptions in UsageStatsManager" into pi-dev am: c1eddaed6e
...
am: 92e2dadc0d
Change-Id: I61d7a43cc80a41ef2681f4c51ceedef538933a4b
2018-05-15 11:53:02 -07:00
Amith Yamasani
92e2dadc0d
Merge "Rethrow SecurityExceptions in UsageStatsManager" into pi-dev
...
am: c1eddaed6e
Change-Id: I3a8bdfe2858c88854ab15aba6a619aac1fd66945
2018-05-15 11:00:25 -07:00
TreeHugger Robot
c1eddaed6e
Merge "Rethrow SecurityExceptions in UsageStatsManager" into pi-dev
2018-05-15 17:40:32 +00:00
Dianne Hackborn
e93ab41d2a
More app ops fg/bg tuning
...
- Only report that something has changed when a uid changes between
the restricted and unrestricted states. (Adds new constant that
defines this important division point.)
- Have different settle times for different key transitions: (a)
out of the top state, (b) out of any other unrestricted state,
(c) down to a lower background state.
- But, don't apply any settle time when transitioning from top to
another unrestricted state... there is no need to.
Bug: 78480444
Test: manual
Change-Id: Ife772858009a6da5c286e285a4059aea3ad3f6c7
2018-05-15 10:27:40 -07:00
Jason Monk
5364b63a51
Merge "Fix crash when loading resources without code" into pi-dev am: c46279aa98
...
am: 2af66fb30f
Change-Id: Ib5d396772eef78971a1c4750bebe72ba49fdaef2
2018-05-15 10:00:29 -07:00
Jason Monk
2af66fb30f
Merge "Fix crash when loading resources without code" into pi-dev
...
am: c46279aa98
Change-Id: I3af4a66f050380c507ec59b9136f2ef6a4f41848
2018-05-15 09:52:15 -07:00
TreeHugger Robot
c46279aa98
Merge "Fix crash when loading resources without code" into pi-dev
2018-05-15 16:33:20 +00:00
Jason Monk
2544c6917a
Fix crash when loading resources without code
...
Should use default appComponentFactory, not the actual one from the
app because we have no code.
Test: manual
Change-Id: I982967543c4cf5c28b19b36b6d183a30052bf602
Fixes: 78883500
2018-05-15 11:30:09 -04:00
Felipe Leme
ef2b5b8a9a
Merge "Don't call setAutofillClient() on base Context if it's null." into pi-dev am: 6d0842154b
...
am: aae288a6a5
Change-Id: I8f543b2e8066d8f54baf3bf846de585f8a7631da
2018-05-14 23:09:16 -07:00