15 Commits

Author SHA1 Message Date
Dianne Hackborn
f4bf0ae2a7 New ArrayMap class.
This is a new kind of key/value mapping that stores its data
as an array, so it doesn't need to create an extra Entry object
for every mapping placed in to it.  It is also optimized to reduce
memory overhead in other ways, by keeping the base object small,
being fairly aggressive about keeping the array data structures
small, etc.

There are some unit and performance tests dropped in to some
random places; they will need to be put somewhere else once I
decided what we are going to do with this for the next release
(for example if we make it public the unit tests should go in
to CTS).

Switch IntentResolver to using ArrayMap instead of HashMap.

Also get rid of a bunch of duplicate implementations of binarySearch,
and add an optimization to the various sparse arrays where you can
supply an explicit 0 capacity to prevent it from doing an initial
array allocation; use this new optimization in a few places where it
makes sense.

Change-Id: I01ef2764680f8ae49938e2a2ed40dc01606a056b
2013-05-24 16:36:14 -07:00
Dianne Hackborn
df7221ced3 Unify normal and overlay action bar layouts.
Switch the action bar to always use the overlay layout, and
make it smarter to do the right thing depending on whether the
action bar is in overlay mode or not.

This allows apps to use the system UI magic flags without
having to worry about whether the action bar is configured
in overlay mode or note -- just select a stable layout and it
will automatically go into overlay mode.

In the future this should also allow us to simplify the action
bar code, since it is all sitting on one common implementation.
For example, much of the logic in ActionBarImpl can be moved
to the root action bar layout, and that layout can be optimized
to do custom layout with all of the known elements it has.

Also fixed a little bug in the performance tests.

Change-Id: Iec0c0c0699754f0d1ce37402d786b4966e052a56
2013-02-27 18:27:42 -08:00
Kenny Root
3a084af2e9 Correct executable bit for source files
Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
2012-11-07 10:27:31 -08:00
Christopher Tate
80a682bc3d Add iteration-limited mode to FrameworkPerf
You can run tests for exactly N iterations regardless of duration now,
in addition to the previous time-limited behavior.

(Clean cherry-pick to break a dependency on a previous patch that
needs work before being committed.)

Change-Id: I2e6cf511bbe968a6f95391567658722e87dfa1fe
2011-11-28 17:48:55 -08:00
Guang Zhu
3af8b69983 Merge "add a self instrumentation into framework perf app" into ics-mr1 2011-11-17 18:04:23 -08:00
Guang Zhu
5eefd7711f add a self instrumentation into framework perf app
It's essentially a test app on itself to facilitate
running the perf automatically.

Change-Id: I5aad3565e64719d219e76969a989ca80aa6df286
2011-11-17 15:26:36 -08:00
Christopher Tate
4c18ad56f7 Add a few GC-flexing microbenchmark tests
Added ObjectGc and FinalizingGc to stress single-object allocation and
collection with/without the presence of finalizers.

Also added GcOp() to the menu of available single-shot tests.

Change-Id: I36d3254dfe2e97e504f9e4f77c8addda98ab4f4b
2011-11-17 14:07:58 -08:00
Dianne Hackborn
dd13793a25 Cleanup remote execution of perf tests.
Change-Id: I0d00537194f3a70969220db16f57bda6f25e454b
2011-11-08 10:59:28 -08:00
Dianne Hackborn
6b57b7e4d5 Update perf tests to always run each test in a fresh process.
Also some new classes to preload.

Change-Id: Ia2b5f856eaee533b9603b533ebaf8cb55e2ac193
2011-11-07 14:45:49 -08:00
Dianne Hackborn
28695e0c70 More performance work:
- ActivityManager now keeps track of previous app as you
  move across the home app.
- Better debug info about why an activity is being destroyed.
- New performance tests.

Change-Id: I3a5ae7cb1b9f1624c6792a4f6184353f532b8f3b
2011-11-02 22:08:41 -07:00
Dianne Hackborn
0500b3cfda Some optimizations.
- Don't try to create a thumbnail bitmap on the client side.  This
  wastes 64k, and isn't needed since we are doing screenshots.
- Optimize View to put all of the callback pointers out of line.
  Added a couple new APIs so these don't need to be protected/public.
- Lazily create ViewGroup's cache paint.
- Change FrameworkPerf app to not use HW accel drawing, to give better
  comparison with GB.

Change-Id: Iec56d02459820d74a4cc9c7ec9c1856563c82c7b
2011-11-01 18:01:33 -07:00
Dianne Hackborn
2c84cfc001 Various performance and other work.
- IME service now switches between visible and perceptible depending on
  whether it is being showm, allowing us to more aggressively free its
  memory when not shown.

- The activity display time is no longer delayed by the activity
  transition animation.

- New -R (repeat) option for launching activities with the am command.

- Improved some documentation on Loader to be clear about some methods
  that apps should not normally call.

- FrameworkPerf test now allows you to select individual tests to run.

Change-Id: Id1f73de66dc93d63212183958a72119ad174318b
2011-10-31 16:52:34 -07:00
Dianne Hackborn
2e9562ad76 Add some IO tests.
Change-Id: Iacd5798a539781b67637cbbcc49cc8dec344e17b
2011-10-28 17:12:12 -07:00
Dianne Hackborn
ea1db611b4 Fix build. Forgot to add files. :(
Change-Id: I89dcc247d957a4873c56017bc262dd717d236258
2011-10-27 19:03:14 -07:00
Dianne Hackborn
d4c4b76889 New framework performance tests.
Change-Id: Ib8cc6704f508b7516ba0a30aa71bb88ef028691d
2011-10-27 16:03:14 -07:00