美文网首页
Android重点

Android重点

作者: TsuiJin | 来源:发表于2016-08-26 14:05 被阅读56次

    0,Android启动流程

    1,Fragment的add,replace的区别,如何解决重影

    2,Frgament的remove,detach的区别

    3,Android的view的深度,编写代码

    4,Android的优化,view嵌套的比较多,如何优化?

    • ViewHolder,convertView
    • 分步加载,一次加载10个
    • 图片使用缓存(Picasso)

    5,Service 有哪两种?有什么区别?

    Paste_Image.png

    使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服 务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的 特点。

    1. Service不是一个单独的进程 ,它和应用程序在同一个进程中
    2. Service不是一个线程,所以我们应该避免在Service里面进行耗时的操作
        
      有一点需要强调,如果有耗时操作在Service里,就必须开启一个单独的线程来处理,这点一定要铭记在心。

    6,Service和IntentService的区别

    IntentService:异步处理服务,新开一个线程:handlerThread在线程中发消息,然后接受处理完成后,会清理线程,并且关掉服务。

    总结IntentService的特征有:

    (1)会创建独立的worker线程来处理所有的Intent请求;

    (2)会创建独立的worker线程来处理onHandleIntent()方法实现的代码,无需处理多线程问题;

    (3)所有请求处理完成后,IntentService会自动停止,无需调用stopSelf()方法停止Service;

    7,怎么理解Android里面的Task

    Task就相当于应用(application)的概念。在开发人员眼中,开发一个Android程序,是做一个个独门独户的组件,但对于一般用户而言,它们感知到的,只是一个运行起来的整体应用,这个整体背后,就是Task。

    Task,简单的说,就是一组以栈的模式聚集在一起的Activity组件集合。它们有潜在的前后驱关联,新加入的Activity组件,位于栈顶,并仅有在栈顶的Activity,才会有机会与用户进行交互。而当栈顶的Activity完成使命退出的时候,Task会将其退栈,并让下一个将跑到栈顶的Activity来于用户面对面,直至栈中再无更多Activity,Task结束。

    相关文章

      网友评论

          本文标题:Android重点

          本文链接:https://www.haomeiwen.com/subject/yiuosttx.html