字体需求
在App开发中,一般都会使用自定义的字体,这些字体美化App的同时,可能还会带来额外的问题,最容易带来的问题就是内存泄露,这里举个实际中遇到的问题作为例子
上面的UI,我们需要在Title、Price上做自定义字体。假如我们这么处理这个需求
Title
Typeface tf=Typeface.createFromAsset(getAssets(), Consts.LANTING_FONT_PATH);
title.setTypeface(tf);
Price
Typeface tf=Typeface.createFromAsset(getAssets(), Consts.LANTING_FONT_PATH);
price.setTypeface(tf);
像上面这么处理,进入这个页面以后,在滚动View的时候会明显卡顿 1S左右, 用户体验相当不好。
接下来看看问题在哪里
跑monkey测试:
发现问题
adb shell dumpsys meminfo 【packgename】
此命令会打出当前应用内存占用情况,如下: