tablayout의 탭을 전환하는 동안 성능 문제가 있습니다. 시나리오 1에서는 레코드 수가 적어서 탭 사이를 쉽게 전환 할 수 있으며 사용자는 어떤 지연도하지 않습니다. 내가 더 많은 데이터를 가지고있을 때 사용자는 아래 스크린 샷과 같이 지연을 느낄 수 있습니다. 몇 초가 지나면 화면이로드되지만 사용자에게는 매우 눈에.니다. 누군가가 이것을 개선하기 위해 점검 할 수있는 영역을 제안 할 수 있습니까? 다음은 문제와 현재의 조각 코드는 ...전환 탭 지연 android tablayout
UI -
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_profile, container, false);
dbConnection = new databaseHelper(getContext());
dbConnection.getWritableDatabase();
profileFragment = view.findViewById(R.id.profileFragment);
downloadData = profileFragment.findViewById(R.id.dwnldData);
refresh = profileFragment.findViewById(R.id.refreshdata);
search = profileFragment.findViewById(R.id.search);
removeFilter= profileFragment.findViewById(R.id.removeFilter);
viewPager = (ViewPager) getActivity().findViewById(R.id.viewpager);
currmelas = dbConnection.findMelas("YES","YES","");
downloadData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
viewPager.setCurrentItem(0);
}
});
if (viewPager.getCurrentItem()==1){
candidateData = dbConnection.findHighCandData(mela_id,"1","");
} else {
candidateData = dbConnection.findHighCandData(mela_id,"","");
}
if (candidateData.size() <= 0) {
if (currmelas.size() == 0){
downloadData.setVisibility(View.VISIBLE);
Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
if(userSettings.size()==0){
viewPager.setCurrentItem(3);
} else {
viewPager.setCurrentItem(0);
}
}
});
}
} else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
setScrollView(candidateData);
}
});
}
}, 100);
}
return view;
}
왜 이것이 투표에 실패했는지 나는 잘 모르겠다. – Akshay