作者DisdainU (莖莖濡吮汁)
看板AndroidDev
標題[問題] GridView在上下滾動時很lag
時間Thu Nov 17 00:40:37 2016
小弟是Android開發新手,最近遇到了一個問題,就是在GridView裡放照片時,
上下滑動會變得很lag
這是我的ArrayAdapter的getView()
public class PhotoAdapter extends ArrayAdapter<PhotoList>{
private int resourse;
private List<PhotoList> PhotoLists;
FrameLayout item;
ImageView select;
public PhotoAdapter(Context context,int resourse,List<PhotoList> p){
super(context,resourse,p);
this.resourse=resourse;
this.PhotoLists=p;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
//讀取目前位置物件
final PhotoList pList= getItem(position);
if(convertView==null){
item=new FrameLayout(getContext());
LayoutInflater li=(LayoutInflater)
getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
li.inflate(resourse,item, true);
}else {
item = (FrameLayout) convertView;
}
TextView textView=(TextView)item.findViewById(R.id.title);
TextView dateView=(TextView)item.findViewById(R.id.date_text);
select=(ImageView)item.findViewById(R.id.select_item);
ImageView photoView=(ImageView)
item.findViewById(R.id.content);
Bitmap bitmap=BitmapFactory.decodeFile(pList.getPhotoPath());
contextView.setImageBitmap(bitmap);
textView.setText(pList.getTitle());
dateView.setText(pList.getLocaleDate());
select.setVisibility(pList.isSelect()? View.VISIBLE : View.INVISIBLE);
return photoView;
}
每次在跑的時候,
都會出現The application may be doing too much work on its main thread.
請問應該要怎麼解決呢..?
q
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.240.176.158
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1479314440.A.CE6.html
1F:推 winterfrost: decode放到其他thread跑 11/17 01:00
2F:→ KeySabre: 不考慮用Glide之類library的幫忙嗎 11/17 16:03
3F:推 givemepass: 感覺就是壓到ui thread 11/17 22:00
4F:→ DisdainU: 用了Glide後 變很順! 謝謝建議! 11/18 02:22
5F:推 Jasonzheng: 給原po的建議是 搞懂執行緒 與 同步 非同步的關係 11/18 10:56
6F:→ Jasonzheng: 而非使用 library 卻不了解箇中道理 11/18 10:56
7F:→ Jasonzheng: 換系統開發時 才能做到換湯不換藥 :) 11/18 10:57
8F:→ ssccg: 圖片要用的順,除了非同步讀取外還有cache/thumbnail這些 11/18 11:19
9F:→ ssccg: 問題,是應該要搞懂不過最終還是用library比較穩 11/18 11:21
10F:→ Jasonzheng: 同樓上 :) 11/18 13:34
11F:→ DisdainU: 謝各位的建議,小弟會去弄懂的:) 11/18 14:17
12F:推 Msgbox: 圖片的大小也是要注意的地方? 11/19 15:25