android - 성능 최적화 UI
2828 단어 android
android - 성능 최적화 UI
1、Thread
new Thread(new Runable(){
@Override
public void run(){
// do some heavy work
}
}).start();
2、AsyncTask
new AsyncTask<URL,Integer,Integer>(){
protected Long doInBackground(URL ..urls){
final int count = urls.length;
for(int i=0;i>count;i++){
Downloader.download(url);
publishProgress(i);
}
return count;
}
protected void onProgressUpdate(Integer ...progress){
setProgress(progress[0]);
}
protected void onPostExecute(Integer result){
showDialog("Download"+result+" files");
}
}
3. HandlerThread와 Handler가 공동으로 사용
장면 사용: 인터페이스에서 복잡한 논리 처리, 예를 들어 서버에서 자원을 얻는 것
HandlerThread mHandlerThread = new HandlerThread("WorkerThread");
//mHandlerThread .getLooper(), UI
Handler handler = new Handler(mHandlerThread .getLooper()){
@Override
public void handlerMessage(Message msg){
switch(msg.what){
case JOB_1:
break;
case JOB_2:
break;
}
}
}
handler.sendEmptyMessage(JOB_1);
handler.sendEmptyMessage(JOB_2);
handler.post(new Runable(){
@Override
public void run(){
//do more work
}
});
@Override
protected void onDestory(){
mHandlerThread.quit();
super.onDestory();
}
4、AsyncQueryHandler
장면 사용: 데이터베이스에 대한 조회를 할 때 호출하여 인터페이스를 업데이트합니다
new AsyncQueryHandler(getContentResolver()){
@Override
protected void onQueryComplete(int token,Object cookie,Cursor cursor){
if(token==0){
//get data from cursor
}
}
}.startQuery(0,//token
null,
RawContacts.CONTENT_URI,null,//projection
RawContacts.CONTACT_ID+"<?",//selection
new String[]{"888"},//selectionArgs
RawContacts.DISPLAY_NAME_PRIMARY+"ASC"//orderby
)
5、IntentService
public class WorderService extends IntentService{
public WorderService (){
super("WorkerThread");
}
@Override
protected void onHandlerIntent(Intent intent){
Stirng action = intent.getAction();
if("com.test.DO_JOB_1").equals(action)){
//do job
}
}
}
startService(new Intent("com.test.DO_JOB_1"));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.