diff options
| author | 2019-04-24 03:35:15 +0000 | |
|---|---|---|
| committer | 2019-04-24 03:35:15 +0000 | |
| commit | 5f873a09a0cf9fd221d9764afba4840f0d51229a (patch) | |
| tree | 8fb5d73dfe00dc70cf882261c408a31662232a60 | |
| parent | f8d04b2d2f9ba8a3dce548a26624d7306aaf9fbb (diff) | |
| parent | 37d181673bfa92b9f26fdcc96c4d68b7b164c14e (diff) | |
Merge "Fix performance regression by fixing keys used in Typeface.Builder" into qt-dev
| -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) { |