`

android-性能优化之UI

 
阅读更多

注:本内容翻译于《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"));

 

 

分享到:
评论

相关推荐

    Android----窗口背景&UI性能

    UI性能优化是Android开发中的核心议题。开发者需要关注渲染性能,包括帧率(FPS)、布局层次、过度绘制和内存使用等。对于帧率,目标是保持60 FPS,以提供流畅的用户体验。如果出现卡顿,可能是因为主线程负载过高,...

    SSM-ZTE-AndroidUI-SVD-0.1 软件版本说明1

    《SSM-ZTE-AndroidUI-SVD-0.1 软件版本说明1》文档主要针对中兴Android系统界面的软件设计与开发项目,详细介绍了该软件版本的相关信息,包括项目的整体概述、文档结构、参考文献、版本详情等多个方面。以下是基于...

    android 性能优化-Systrace分析UI性能demo

    在Android开发中,性能优化是提升用户体验的关键环节...总之,Systrace是Android性能优化的得力助手,它为开发者提供了深入了解系统行为的途径。通过深入分析和优化UI相关事件,我们能够显著提升应用的性能和用户体验。

    android-26 sdk下载

    11. **开发者工具**:如Hierarchy Viewer(布局层级查看器)和Traceview(性能分析工具)等,帮助开发者优化UI性能和解决性能瓶颈。 12. **Android Emulator**:SDK中的Android Emulator用于测试应用,提供了对...

    Android 性能优化之UI优化源码

    配合博客文章《Android性能优化之UI优化源码》(链接:https://www.cnblogs.com/Oztaking/p/9350295.html),读者可以更深入地了解UI优化的具体实践和源码解析。通过理解和运用上述知识点,开发者能够打造出流畅、...

    Android-JChat是基于JMessageSDK带有完整UI界面的即时通讯应用

    在实际开发中,还需要考虑安全性和性能优化。例如,对敏感信息加密,优化网络请求,避免内存泄漏,以及处理并发和多线程问题。 总结,JChat是一个展示Android即时通讯功能实现的优秀案例,通过学习和分析JChat,...

    Android-提高AndroidUI开发效率的UI库

    8. **性能优化**:QMUI 注重性能优化,例如延迟加载图片、内存优化等,以确保应用运行流畅,用户体验优秀。 9. **文档和示例**:QMUI 提供详尽的文档和丰富的示例代码,帮助开发者快速上手并解决实际问题。 10. **...

    Android性能优化.pdf

    【Android性能优化】是Android开发中的重要环节,涵盖了多个关键领域,包括ANR问题解析、crash监控方案、启动速度与执行效率优化、内存优化、耗电优化、网络传输与数据存储优化以及APK大小优化。 **ANR问题解析**是...

    Android-聊天UIDemo支持文字表情语音图片的聊天UI界面

    在Android开发中,构建一个功能丰富的聊天用户界面(UI)是相当常见的需求,尤其是在社交应用、团队协作工具或者在线客服系统中。这个“Android-聊天UIDemo支持文字表情语音图片的聊天UI界面”是一个示例项目,它...

    android-studio-ide-193.6626763-windows.exe

    总的来说,尽管"android-studio-ide-193.6626763-windows.exe"不是Android Studio的最新版本,但作为4.0版,它在开发效率、UI设计、性能调试、语言支持和学习资源等方面都有显著提升,依然是开发者日常工作中不可或...

    Android应用性能优化

    ### Android应用性能优化 在移动开发领域,特别是针对Android平台的应用开发过程中,性能优化是确保应用流畅运行、提升用户体验的关键环节。本篇文章将围绕“Android应用性能优化”这一主题,详细探讨Android应用...

    android-studio-ide-202.7486908-windows.zip

    在调试方面,Android Studio 4.2.2提供了一套强大的调试工具,包括性能分析器、内存监视器、CPU监控等,帮助开发者找出性能瓶颈并优化代码。新的JUnit5测试框架支持,使得单元测试和集成测试更加便捷,确保代码质量...

    Android-UI.rar_android_android ui_ui

    Android UI设计不仅涉及视觉美观,还包含了交互逻辑、可访问性、易用性和性能优化等多个方面。这份"Android-UI.rar"压缩包包含了一份名为"特刊第11期UI设计.pdf"的学习资料,将为我们深入理解Android UI设计提供宝贵...

    android-studio-ide-192.6392135-windows.rar

    6. **性能分析**:提供了一系列工具,如内存分析器、CPU使用率监视器等,用于诊断和优化应用的性能问题。 7. **版本控制集成**:与Git和其他版本控制系统无缝集成,便于团队协作和代码管理。 8. **Google服务集成*...

    android-studio-ide-202.7351085-windows

    5. **性能优化工具**:Android Studio内含一系列性能分析工具,如内存监视器、CPU分析器、渲染性能工具等,帮助开发者识别和解决性能瓶颈,优化应用的运行效率。 6. **版本控制集成**:与Git和其他版本控制系统无缝...

    ui-fabric-android,Office UI Fabric for Android-为Office和Office 365构建体验的前端框架.zip

    "ui-fabric-android"是一个专为Office和Office 365设计的前端框架,它针对Android平台进行了优化,旨在提供一致、高效的用户界面组件和设计系统。这个开源项目旨在帮助开发者构建与Office品牌相符的高质量应用程序,...

    android-studio-ide-191.5977832-windows.exe

    在性能优化方面,Android Studio 191.5977832可能包含更快的代码分析器,帮助开发者及时发现并修复潜在问题。除此之外,内存和CPU使用率的降低也是提升开发效率的重要因素,这一版本可能对此进行了优化。 对于...

    Android--开发--创建UI的新思路:用javascript与Activity进行交互.rar

    4. **性能优化**:虽然JavaScript与原生交互会有一定的性能损耗,但通过合理设计和优化,仍能提供良好的用户体验。 在"RIADemos"这个压缩包中,可能包含了一些示例代码,用于演示如何实现JavaScript与Android ...

Global site tag (gtag.js) - Google Analytics