Android异步更新UI的方式之使用AsyncTask异步任务
16lz
2021-01-26
由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中更新UI,给大家介绍一种方式:使用AsyncTask异步任务。
下面用这种方式更新一个TextView:
注:更新UI的操作只能在onPostExecute(String result)方法中。
packagecom.example.runonuithreadtest;importandroid.app.Activity;importandroid.os.AsyncTask;importandroid.os.Bundle;importandroid.widget.TextView;publicclassMainActivityextendsActivity{privateTextViewtv;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv=(TextView)findViewById(R.id.tv);newYibu().execute();}classYibuextendsAsyncTask<String,String,String>{@OverrideprotectedStringdoInBackground(String...params){try{Thread.sleep(2000);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnnull;}@OverrideprotectedvoidonPostExecute(Stringresult){//TODOAuto-generatedmethodstubtv.setText("更新后的TextView");}}}
当然对APP的性能测试,我比较常用的是这个平台:www.ineice.com
更多相关文章
- Android(安卓)View体系(三)--实现 View 的滑动七种方式
- 今天更新SDK到11
- Android多线程下安全访问数据库
- EventBus for Android(安卓)源码分析
- 理解Android核心:Looper, Handler和HandlerThread
- Android(安卓)和 前端的类似点(持续更新)
- Android(安卓)Launcher 应用的安装、更新、移除介绍
- android之在activity中控制另一个activity的UI更新_如何在activi
- ContentProvider使用难点