(1)android 多线程有几种实现方法:

问题提出

1)为何需要多线程?

2)多线程如何实现?

3)多线程机制的核心是啥?

4)到底有多少种实现方式?

2、问题分析

1)究其为啥需要多线程的本质就是异步处理,直观一点说就是不要让用户感觉到“很卡”。

eg:你点击按钮下载一首歌,接着该按钮一直处于按下状态,那么用户体验就很差。

2)多线程实现方式implements Runnable 或 extends Thread

3)多线程核心机制是Handler

4)提供如下几种实现方式

----------------------------------------

有以下几种方式:

1)Activity.runOnUiThread(Runnable)

2)View.post(Runnable) ;View.postDelay(Runnable , long)

3)Handler

4)AsyncTask

Android是单线程模型,这意味着Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行,所以你单纯的new一个Thread并且start()是不行的,因为这违背了Android的单线程模型。那么如何用好多线程呢?总结一下:

事件处理的原则:所有可能耗时的操作都放到其他线程去处理。

推荐讲解;https://www.cnblogs.com/chendu123/p/6081301.html 

(2)android framework的框架及作用:

android 面试必问点

     那么Framework层的作用就有2个。

  1. 用Java语言编写一些规范化的模块封装成框架,供APP层开发者调用开发出具有特殊业务的手机应用。
  2. 用Java Native Interface调用core lib层的本地方法,JNI的库是在Dalvik虚拟机启动时加载进去的,Dalvik会直接去寻址这个JNI方法,然后去调用。

  3. 总结:FramWork是给上层应用app层提供api方法和服务的应用框架层,可以称Framework层才真正是Java语言实现的层,包括三大核心功能viewsystem,ActivityManagerService.java,WindowManagerService.java ,正式因为framwork层里面的jni(java本地服务)和系统运行层里面的c++库的交互,所以才会从C/C++的底层慢慢向上变成了JAVA的开发语言

      应用程序框架层包括活动管理器、位置管理器、包管理器、通知管理器、资源管理器、 电话管理器、窗口管理器、内容提供者、视图系统和XMPP服务十个部分

      Activity Manager:用来管理应用程序生命周期并提供常用的导航回退功能。

  Window Manager:提供一些我们访问手机屏幕的方法。屏幕的透明度、亮度、背景。
  Content Providers:使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。
  View System:可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的web浏览器。
  Notification Manager:使得应用程序可以在状态栏中显示自定义的提示信息。
  Package Manager:提供对系统的安装包的访问。包括安装、卸载应用,查询permission相关信息,查询Application相关信息等。
  Telephony Manager:主要提供了一系列用于访问与手机通讯相关的状态和信息的方法,查询电信网络状态信息,sim卡的信息等。
  Resource Manager:提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。
  Location Manager:提供设备的地址位置的获取方式。很显然,GPS导航肯定能用到位置服务。
  XMPP:可扩展通讯和表示协议。前身为Jabber,提供即时通信服务。例如推送功能,Google Talk。
  

  链接:https://www.jianshu.com/p/ce80389be8b4
 

  1. android 面试必问点

 

 

相关文章:

  • 2022-01-25
  • 2022-12-23
  • 2021-04-26
  • 2021-08-18
  • 2021-07-23
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-18
  • 2021-05-11
  • 2021-08-28
  • 2021-08-07
  • 2022-12-23
  • 2021-07-05
  • 2021-11-30
相关资源
相似解决方案