AsynTask背景与否

时间:2016-02-23 09:48:26

标签: java android asynchronous android-asynctask

我有一个问题。 在我的内部课程(split-ycomb '(1 2 3 4) (lambda (x) (> x 2)) list) => ((2 1) (4 3)) (split-ycomb2 '(1 2 3 4) (lambda (x) (> x 2)) list) => ((2 1) (4 3)) 中,我得到了chargeAdapterAsync

mDataModel

当我进入class chargeAdapterAsync extends AsyncTask< String, String, String > { @Override protected String doInBackground( String... action ) { mImageLoader = ImageLoaderFactory.create( context ); // set up data mDataModel = new WhaskListDataModel( context, 10 ); mAdapter = new PagedListViewDataAdapter< UserWhasks >( ); mAdapter.setViewHolderClass( this, WhaskListItemViewHolder.class, mImageLoader ); mAdapter.setListPageInfo( mDataModel.getListPageInfo( ) ); return null; } @Override protected void onPostExecute( String o ) { super.onPostExecute( o ); mListView.setAdapter( mAdapter ); } } 时:

WhaskListDataModel

然后我得到public class WhaskListDataModel extends PagedListDataModel<UserWhasks> { private Context activity; private ListWhasksPagination listWhasksPagination; public WhaskListDataModel(Context activity, int numPerPage) { mListPageInfo = new ListPageInfo<UserWhasks>(numPerPage); this.activity = activity; listWhasksPagination = new ListWhasksPagination(activity, numPerPage); } public void prependItem(UserWhasks item) { WhaskListDataEvent data = new WhaskListDataEvent(); Arra 课,当我进去的时候,我得到了:

ListWhasksPagination

并且在public ListWhasksPagination(Context activity, int limitArr) { currentList = new ArrayList<>(); completeList = new ArrayList<>(); completeList = getWhasksResult(activity); this.limitArr = limitArr; firtItem = -1; lastItem = 0; } private ArrayList<UserWhasks> getWhasksResult(Context activity){ ArrayList<UserWhasks> sortedWhasks = new ArrayList<>(); magnetClient = MagnetMobileClient.getInstance(activity); try { controllerFactory = new UserFactory(magnetClient); user = controllerFactory.obtainInstance(); Call<WhasksPostsResult> callObject = user.getWhasks( SharedPreference.ID, SharedPreference.AUTHORIZATION, null); WhasksPostsResult result = callObject.get(); for(WhasksResult whask : result.getWhasks()) { sortedWhasks.add(new UserWhasks(whask)); } Collections.sort(sortedWhasks, Collections.reverseOrder()); return sortedWhasks; } catch (SchemaException e) { Log.e(Constant.LOG_TAG, "can't get userController", e); } catch (ExecutionException e) { Log.e(Constant.LOG_TAG, "failed to execute getUser", e); e.printStackTrace(); } catch (InterruptedException e) { Log.e(Constant.LOG_TAG, "getUser interrupted", e); } return sortedWhasks; } 的最后一个课程中,我找回了一些元素,我想知道,getWhaskResult方法甚至班级getWhaskResult也在背景与否:/

2 个答案:

答案 0 :(得分:0)

作为一般规则,在后台执行的代码采用doInBackground方法。其他代码不是。

所以doInBackground mDataModel = new WhaskListDataModel( context, 10 ); getWhaskResultgetWhaskResult。因此{{1}}将在后台执行

答案 1 :(得分:0)

是getWhaskResult在后台执行,因为它是从doInBackground

调用的