当前位置: 代码迷 >> Android >> 【求教】android:listview优化相关,为什么中文很卡,英文就比较顺滑了?求答案!求解释!求教育!解决方案
  详细解决方案

【求教】android:listview优化相关,为什么中文很卡,英文就比较顺滑了?求答案!求解释!求教育!解决方案

热度:72   发布时间:2016-05-01 21:40:50.0
【求教】android:listview优化相关,为什么中文很卡,英文就比较顺滑了?求答案!求解释!求教育!
Java code
    public class PrivacyAdapter extends BaseAdapter {        public Context context;        public List<PrivacyText> list;        public HashMap<Integer, View> m = new HashMap<Integer, View>();         /**         *          */        public PrivacyAdapter(Context context, List<PrivacyText> list) {            this.context = context;            this.list = list;        }        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int position) {            return list.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            ViewHoder hoder = null;            final PrivacyText privacyText = list.get(position);            convertView = m.get(position);            if (convertView != null){                hoder = (ViewHoder) convertView.getTag();                return convertView;            }else {                hoder = new ViewHoder();                convertView = LayoutInflater.from(context).inflate(                    R.layout.privacy_text_list, null);                convertView.setTag(hoder);                m.put(position, convertView);            }                        hoder.privacyTitle = (TextView) convertView                    .findViewById(R.id.privacy_text_title);            hoder.privacyBody = (MTextView) convertView                    .findViewById(R.id.privacy_text_body);            hoder.privacyBody.setText(list.get(position).pribacyBody);            if(privacyText.privacyTitle != null){                hoder.privacyTitle.setVisibility(View.VISIBLE);                hoder.privacyTitle.setText(privacyText.privacyTitle);            }else{                hoder.privacyTitle.setVisibility(View.GONE);            }            return convertView;        }        public class ViewHoder {            TextView privacyTitle;            MTextView privacyBody;        }    }/**     * 初始化privacy页面     */    public  void init() {                listView =(ListView) findViewById(R.id.login_policy_listview);        PrivacyAdapter adapter = new PrivacyAdapter(this, list);        listView.setAdapter(adapter);        listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);        listView.setFastScrollAlwaysVisible(true);        listView.setFastScrollEnabled(true);        listView.setDivider(null);        listView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_INSET);        

代码如上,问什么我在语言设为英文时,listview滑动的很顺畅,而换成中文的时候就很卡呢?
资源文件不方便发,就是文字比较多,差不多有3000+个字(中文),分成14段,求答案!求解释!求教育!

------解决方案--------------------
事实上android对中文的支持非常不好。。尽量少做文本的字体效果了。。
------解决方案--------------------
你不说,我还不知道原来中文会导致卡。。。
  相关解决方案