问题描述
- andorid40 执行以下多次循环后,效率急速下降,求解。
-
以下玩法String _sss = "一个有300个以上字符的字符串。。。"; Paint _paint = new Paint(); Rect _rect = new Rect(); long ti = System.currentTimeMillis(); for(int i =1;i<249;i++){ _paint.getTextBounds(_sss, 0, i, _rect); } System.out.println("time " + (System.currentTimeMillis() - ti));
通过这种方式获取执行总时间。
现象:
1 执行240次时效率很高,大概总耗时20ms。执行250次以上的时候,骤升到大概200ms。
2 android2.x系统都没问题,android4.0系统就有这个问题。
3 把循环的内容换成诸如
String _s = _sss.substring(0, i);
_paint.measureText(_s);
也同样有此问题。
4 不知道为什么,以及如何解决。
5 解决后请客海底捞。
时间: 2024-10-05 21:56:34