diff options
author | Seigo Nonaka <nona@google.com> | 2019-04-23 22:41:21 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-04-23 22:41:21 -0700 |
commit | 56ae62ac07440d012986fddcfcf9149ebd505d9c (patch) | |
tree | 163779ead61d1d4b2eb0d410a29509cbb908684b | |
parent | fe705b2d59092fcbf5976485dd4c277abf4a2d41 (diff) | |
parent | 995bf1e3e662abb49671ec608231b71c933172ee (diff) |
Merge "Fix performance regression by fixing keys used in Typeface.Builder" into qt-dev am: 5f873a09a0
am: 995bf1e3e6
Change-Id: I2245df4205a28af10fa08eee592176bc6a73ae8e
-rw-r--r-- | apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java | 14 | ||||
-rw-r--r-- | graphics/java/android/graphics/Typeface.java | 4 |
2 files changed, 16 insertions, 2 deletions
diff --git a/apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java b/apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java index d6e8ab2516a8..884745699789 100644 --- a/apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java +++ b/apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java @@ -18,6 +18,7 @@ package android.graphics.perftests; import android.content.Context; import android.content.res.AssetManager; +import android.content.res.Resources; import android.graphics.Typeface; import android.perftests.utils.BenchmarkState; import android.perftests.utils.PerfStatusReporter; @@ -26,6 +27,8 @@ import androidx.test.InstrumentationRegistry; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; +import com.android.perftests.core.R; + import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -104,4 +107,15 @@ public class TypefaceCreatePerfTest { outFile.delete(); } + + @Test + public void testCreate_fromResources() { + BenchmarkState state = mPerfStatusReporter.getBenchmarkState(); + final Resources r = InstrumentationRegistry.getContext().getResources(); + + while (state.keepRunning()) { + Typeface face = r.getFont(R.font.samplefont); + } + } + } diff --git a/graphics/java/android/graphics/Typeface.java b/graphics/java/android/graphics/Typeface.java index c8b361bbff2f..6d20ec32cdc4 100644 --- a/graphics/java/android/graphics/Typeface.java +++ b/graphics/java/android/graphics/Typeface.java @@ -596,8 +596,8 @@ public class Typeface { final Font font = mFontBuilder.build(); final String key = mAssetManager == null ? null : createAssetUid( mAssetManager, mPath, font.getTtcIndex(), font.getAxes(), - font.getStyle().getWeight(), font.getStyle().getSlant(), - mFallbackFamilyName); + mWeight, mItalic, + mFallbackFamilyName == null ? DEFAULT_FAMILY : mFallbackFamilyName); if (key != null) { // Dynamic cache lookup is only for assets. synchronized (sDynamicCacheLock) { |