1
Lors de l'utilisation d'un ViewPager, j'ai remarqué qu'il ne répondrait pas très rapidement, ce qui signifie qu'il ralentit lors de la commutation des fragments, un peu à la traîne. Est-ce que quelqu'un sait comment ce code pourrait causer le problème?ViewPager ne répond pas rapidement
public class List_adapter : BaseAdapter<Element>
{
public List<Element> _list;
FragmentOne _context;
public List_adapter(FragmentOne context, List<Element> list)
{
super(context, list);
_list = list;
_context = context;
}
@Override
public int getCount()
{
return _list.size();
}
@Override
public Object getItem(int position)
{
return _list.get(position);
}
@Override
public long getItemId(int position)
{
return getItem(position).hashCode();
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater = (LayoutInflater)getActivity().getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.row, parent, false);
Element item = getItem(position);
TextView lbl = (TextView)view.findViewById(R.id.label);
TextView prop = (TextView)view.findViewById(R.id.Prop);
lbl.setText(item.getlabel());
prop.setText(item.getprop());
return view;
}
}
Le décalage ne défilement liste pas de problème, il se produit lors du passage à travers la divers ViewPagers. En outre, j'ai essayé d'implémenter la limite de page hors écran mais cela n'a pas résolu mon problème. –
Peut-être que vous en faites trop dans le fil principal? Essayez de passer la mémoire ou les opérations étendues du processeur aux threads d'arrière-plan. Le problème est trop inexact. Essayez [tracing] (https://developer.android.com/studio/profile/traceview.html) le code pour voir ce qui cause le retard. –
C'est vrai que je fais tout dans le thread principal mais créer un autre thread ne résoudrait rien, car la liste est remplie dans la méthode onCreateView du fragment, et j'ai essayé de l'exécuter dans un autre thread mais ça n'a rien fait. –