Não sei se o título ficou confuso, mas aqui meu cenário:
Estou desenvolvendo um APP que faz comunicação com webservice de um site e busca as informações de notícias do site (título, texto, data).
É basicamente parecido com o :
Já fiz o aplicativo todo, o único problema que estou tento é nas miniaturas do ListView, o que acontece:
Ao abrir o App, ele carrega todas as miniaturas da tela, e se eu descer o scroll ele começa a carregar as outras a medida que for aparecendo (lazy loading).
Ao abrir o App, ele carrega todas as miniaturas da tela, e se eu descer o scroll ele começa a carregar as outras a medida que for aparecendo (lazy loading).
Só que quando começa a carregar o aplicativo fica lento.
Achei uma solução que era implementar um cache para as imagens:
Só que minha ListView ao dar scroll começa a carregar as imagens em ordem e colocas em cache, ou seja tenho que descer o scroll até o final ai sim minha ListView fica na velocidade normal.
Pensei em algo do tipo:
Carregar todas as imagens, armazenar em cache e mostrar um processdialog enquanto elas carregam.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) this.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.list_item, parent, false);
Notice notice = notices.get(position);
TextView textView = (TextView) row.findViewById(R.id.textView1);
textView.setText(notice.getTitulo());
ImageView imageView = (ImageView) row.findViewById(R.id.imageView1);
imageDownloader.download(getImageLink(notice.getTexto()), imageView);
return row;
}






0 comentários:
Postar um comentário