//
TextView textView = new TextView(context);
// 在UI线程中,从TextView确定布局参数
PrecomputedTextCompat.Params textMetricsParams = TextViewCompat.getTextMetricsParams(textView);
// 在后台线程上计算耗时的文本段落
PrecomputedTextCompat compat = PrecomputedTextCompat.create("", textMetricsParams);
// 在TextView中使用生成的PrecomputedText
TextViewCompat.setPrecomputedText(textView, compat);
// 这使得超过90%的工作脱离了UI线程 - 提升效率
// PrecomputedTextCompatAndroidX实现适用于L(API 21)及更高版本,因此性能提升适用于大约85%的活动设备
// worker thread
//解析工作线程上的跨度以减少UI线程上的负载
// String expensiveSpanned = resolveIntoSpans(networkData.item.textData)
//预先计算测量工作以减少UI线程上的负载
// PrecomputedTextCompat precomputedText = PrecomputedTextCompat.create(expensiveSpanned, textMetricsParams);
// UI thread 在UI中显示从工作线程发送的PrecomputedText
// myTextView.setTextMetricParams(precomputedText.getParams())
// myTextView.setPrecomputedText(precomputedText)
Android TextView对长文本或复杂文本计算绘制优化
最新推荐文章于 2022-08-02 15:37:21 发布