【求教】android:listview优化相关,为什么中文很卡,英文就比较顺滑了?求答案!求解释!求教育!解决方案
【求教】android:listview优化相关,为什么中文很卡,英文就比较顺滑了?求答案!求解释!求教育!
代码如上,问什么我在语言设为英文时,listview滑动的很顺畅,而换成中文的时候就很卡呢?
资源文件不方便发,就是文字比较多,差不多有3000+个字(中文),分成14段,求答案!求解释!求教育!
------解决方案--------------------
事实上android对中文的支持非常不好。。尽量少做文本的字体效果了。。
------解决方案--------------------
你不说,我还不知道原来中文会导致卡。。。
- 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对中文的支持非常不好。。尽量少做文本的字体效果了。。
------解决方案--------------------
你不说,我还不知道原来中文会导致卡。。。