diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-01-29 19:30:42 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-01-29 19:30:42 +0000 |
| commit | ea3ca9d72035429b04bda2a8872d753b7281eddc (patch) | |
| tree | a06dff1a6320ea7b955d280317ae3acd6f6b5349 /core/java/android | |
| parent | cebf31276530fb765f363a8686ad9ea281cf05cf (diff) | |
| parent | 49ca0244c9fa01dd667755cde6eb2342b8e2e05d (diff) | |
Merge "Introduce MeasuredText related perf tests"
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/text/MeasuredParagraph.java | 10 | ||||
| -rw-r--r-- | core/java/android/text/MeasuredText.java | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/core/java/android/text/MeasuredParagraph.java b/core/java/android/text/MeasuredParagraph.java index 45fbf6f58209..aafcf44a73fc 100644 --- a/core/java/android/text/MeasuredParagraph.java +++ b/core/java/android/text/MeasuredParagraph.java @@ -672,6 +672,13 @@ public class MeasuredParagraph { return width; } + /** + * This only works if the MeasuredParagraph is computed with buildForStaticLayout. + */ + @IntRange(from = 0) int getMemoryUsage() { + return nGetMemoryUsage(mNativePtr); + } + private static native /* Non Zero */ long nInitBuilder(); /** @@ -718,4 +725,7 @@ public class MeasuredParagraph { @CriticalNative private static native /* Non Zero */ long nGetReleaseFunc(); + + @CriticalNative + private static native int nGetMemoryUsage(/* Non Zero */ long nativePtr); } diff --git a/core/java/android/text/MeasuredText.java b/core/java/android/text/MeasuredText.java index ff23395d92a5..bb7a9e0b7906 100644 --- a/core/java/android/text/MeasuredText.java +++ b/core/java/android/text/MeasuredText.java @@ -333,6 +333,20 @@ public class MeasuredText implements Spanned { return getMeasuredParagraph(paraIndex).getWidth(start - paraStart, end - paraStart); } + /** + * Returns the size of native MeasuredText memory usage + * + * Note that this may not be aculate. Must be used only for testing purposes. + * @hide + */ + public int getMemoryUsage() { + int r = 0; + for (int i = 0; i < getParagraphCount(); ++i) { + r += getMeasuredParagraph(i).getMemoryUsage(); + } + return r; + } + /////////////////////////////////////////////////////////////////////////////////////////////// // Spanned overrides // |
