码迷,mamicode.com
首页 > 移动开发 > 详细

关于android textview,edittext,导致界面的卡顿

时间:2014-09-01 10:45:33      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:android   textview   卡顿   

      我们在平时使用textview和edittextview的时候总是很随意的编写它相应的xml,但是当你的界面中存在滑动之类的效果的时候如果你不注意,你可能会发现你的界面居然有时候会有很卡的感觉,具体为什么卡,卡在哪里我们往往摸不着头脑,明明一点耗时的操作都没有,界面就多了一句,textview的settex函数,怎么就卡的不成样了,我们有时候会去怀疑android 的机制没苹果的好。其实具体原因还在于我们对控件不够了解。

     当一个界面里面存着类似scrollview或者listview这种控件的时候,我们需要滑动界面,而有时候滑动的界面都有相应的textview做说明,但是一滑动就发现界面特别卡。如果出现这种情况注意下你的xml对textview的宽高做设置的时候是不是设置成了wrapcontent,这个时候把他设置成fillparent就好了。当然有时候fillparent也不好用,因为如果你的textview的父view的长宽也是一个变化的值的话,也有可能导致卡顿。

    为什么使用wrapcontent后就会出现卡顿呢。思索后发现,滑动的时候其实listview或者scrollview都在对他的子view进行重绘。而在这个时候textview如果进行滑动的时候进行设置,比如利用textview进行修改内容。这个时候textview因为设置的内容长度发生了变化,所以导致跟父view的重绘,计算长宽发生了冲突。所以,为了避免这种冲突,textview的长宽必须是父view可计算的。所以要不你设置成fillparent要不你就固定一个长宽,这些都可以解决textview设置内容的时候导致界面的卡顿。总之在你没法查找到卡顿的根源的时候,去看看父view的长宽是不是收到了子view的影响。

   其实在网上很多关于listview滑动发生卡顿,其实总结的不是很完善,大部分是对listview设置成fillparent之类的说法,很多说getview不断的重复调用,跟这个也有关系。这些其实很多都是由于textview的长宽不是一个定值或者不可测导致。不信你把他们写死成一个值,你就会发现界面顺滑无比。

关于android textview,edittext,导致界面的卡顿

标签:android   textview   卡顿   

原文地址:http://blog.csdn.net/lgj452555712/article/details/38976743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!