先上解決方法:
1.如果只是純文本顯示
推薦使用StaticLayout自定義view 速度快
2.快速解決(API 23)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
textView.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE);
}
setreen.png
https://developer.android.google.cn/reference/android/widget/TextView#setBreakStrategy(int)
BREAK_STRATEGY_SIMPLE 相比BREAK_STRATEGY_HIGH_QUALITY與
BREAK_STRATEGY_BALANCED性能消耗最少,但布局相對(duì)沒有其他兩種美觀同诫。
同樣一句話不同策略對(duì)比:
下圖是BREAK_STRATEGY_SIMPLE
BREAK_STRATEGY_SIMPLE.png
下圖是BREAK_STRATEGY_HIGH_QUALITY
BREAK_STRATEGY_HIGH_QUALITY.png
具體看官方文檔解釋:
https://developer.android.google.cn/reference/android/text/Layout#BREAK_STRATEGY_SIMPLE
使用traceview與Hierarchy Viewer分析卡頓位置