Summary:
- libcore: new Java based SamplingProfiler
- dalvik: remove old SamplingProfiler native bits
- frameworks/base: New placeholder SamplingProfilerIntegration
- vendor/google: remove old profiler snapshot parsing code
Details:
libcore
A new 100% Java SamplingProfiler. While it has more overhead that
the old native one, the new one can actually collect more than the
current PC and frame pointer, so you can get useful context of
where your app is spending time. It currently provides ASCII hprof
format output for use with tools like PerfAnal
dalvik/src/main/java/dalvik/system/SamplingProfiler.java
Unit test for the new SamplingProfiler
dalvik/src/test/java/dalvik/system/SamplingProfilerTest.java
Add core-tests-dalvik
JavaLibrary.mk
dalvik
Removing native code that supported the old SamplingProfiler
vm/Dvm.mk
vm/native/InternalNative.c
vm/native/dalvik_system_SamplingProfiler.c
frameworks/base
Placeholder SamplingProfilerIntegration. Later plans include
generating EventStackTrace protobufs.
New SamplingProfiler does not have a global instance, so
SamplingProfilerIntegration provides one in INSTANCE. Old binary
snapshot format is temporily replaced with ASCII hprof data.
core/java/com/android/internal/os/SamplingProfilerIntegration.java
Simplified interface for zygote profile snapshotting
core/java/com/android/internal/os/ZygoteInit.java
Current SamplingProfilerIntegration does not track event loop
explicitly, but hprof information does include thread information.
core/java/android/app/ActivityThread.java
vendor/google
Removing code for parsing old SamplingProfiler snapshot format
tools/samplingprofiler/Android.mk
tools/samplingprofiler/NOTICE
tools/samplingprofiler/profiler.iml
tools/samplingprofiler/profiler.ipr
tools/samplingprofiler/pull-snapshots.sh
tools/samplingprofiler/sorttable.js
tools/samplingprofiler/src/com/android/profiler/PrintHtml.java
Merge commit 'ec438e1448ebc578ee5a4c4beb1e26292cdedd6e'
* commit 'ec438e1448ebc578ee5a4c4beb1e26292cdedd6e':
Add PackageManager API to get information about a provider component.
Merge commit '361199b5e742c6635d4d7a03de6cf37b31cf442c' into gingerbread-plus-aosp
* commit '361199b5e742c6635d4d7a03de6cf37b31cf442c':
Add PackageManager API to get information about a provider component.
Also removes the artifical restriction that only one apply() can be in
flight at once. That was old from when I thought it'd end up being
required, but wasn't.
Change-Id: I3540ea8be6e0760d6a51d218186f71655c2f3f55
This change moves the native library handling earlier in the package
installation process so that it may be inserted into ASEC containers
before they are finalized in the DefaultContainerService.
Note that native libraries on SD card requires that vold mount ASEC
containers without the "noexec" flag on the mount point.
Change-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba
Adds a fire-and-forget save method (startCommit) to the
SharedPreferences.Editor, which is the way most people use it anyway.
This commit adds the implementation. The previous commit added the
interface and docs:
previous change: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
git commit: edf32d0131
In addition, this change:
-- adds a generic "runPendingWorkFinishers" mechanism to
ActivityThread to wait on async operations that are still
in flight and use it for this.
-- ties runPendingWorkFinishers into Activity.onPause,
BroadcastReceiver, and Service.
-- makes sSharedPreferences keyed on name, not File, to avoid
unnnecessary allocations
-- documents and guarantees what thread
OnSharedPreferenceChangeListener callbacks run on
-- makes a few things in frameworks/base use startCommit(), notably
Preference.java (which was ignoring the return value anyway)
Change-Id: I1c8db60ad45643226fe6d246d3e513eeb7bd0ebd
Merge commit '3003a017d312a55e3804d6cf4a80044b1f1d7993' into gingerbread-plus-aosp
* commit '3003a017d312a55e3804d6cf4a80044b1f1d7993':
Don't retain global ref to last inflated context.
Merge commit '4af0cfad5305c8827c6235ca86e7db63b534ad68' into gingerbread-plus-aosp
* commit '4af0cfad5305c8827c6235ca86e7db63b534ad68':
Verify that onPause() calls its superclass.
Merge commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7' into gingerbread-plus-aosp
* commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7':
Some StrictMode API changes.
* rename setThreadBlockingPolicy to setThreadPolicy (opens the way to
using StrictMode for non-blocking-related things in the future?)
* add allowThreadDiskWrites() and allowThreadDiskReads() to modify the
current policy mask and return the old one. this will allow turning
off part of StrictMode during certain regions of code. (for
instance, writing to disk in Activity onPause...)
Change-Id: Ia1878153713f79299971fdab567fa15b3cb9d56c
- DialogFragment now has an option to not show a dialog, so you can
use your UI somewhere else.
- Deprecated show() versions that were tied to activities.
- Added documentation to DialogFragment class.
- Added documentation to onSaveInstanceState() to explain how the
time it is called is different than Activity's version.
- Fixed some java doc warnings.
Change-Id: If026744c368e2443030d2d9e0a9c808d820857df
Merge commit 'cf6d2a1de274e9a4156b12be811a180eb36412ab' into gingerbread-plus-aosp
* commit 'cf6d2a1de274e9a4156b12be811a180eb36412ab':
Fix issue #2845673: android:exported="false" is not obeyed
Add Dialog#invalidateOptionsMenu so that dialogs hosting action bars
have a way to request a refresh of menu content.
Change-Id: I73aa22c2df1c5e60b94035e30af548f87073dbb9