For some reason my tab transition is not smooth. I have coded two separate AsyntTaskLoaders in two separate fragments (1 & 2) to read data from WEB API (On button clicks).
Once the data is loaded in second fragment going to the previous tab is slow (and vice versa). But when the Loader is destroyed the transition is smooth.
public class Fragment1 extends Fragment implements LoaderManager.LoaderCallbacks {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if(getLoaderManager().getLoader(0)!=null){
getLoaderManager().initLoader(0,null,this);
}
Submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(some condition) {
}
else{
stopLoader();
}
}
});
}
@Override
public Loader<String> onCreateLoader(int id, Bundle args) {
return new GetDataFromLoader1(getContext(), args.getString("String"));
}
@Override
public void onLoadFinished(Loader<String> loader, String data) {
try {
//Read parsed JSON object from LoadInBackground
}catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onLoaderReset(Loader<String> loader) {
}
void stopLoader() {
getLoaderManager().destroyLoader(0);
}}
Choreographer: Skipped 31 frames! The application may be doing too much work on its main thread. While reading this line in " MyBitmap = obj.getBitmap();" in JSON object