您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页高效的Android线程

高效的Android线程

来源:二三娱乐

1. Android组件

  • Application
  • Core Java
  • Application framework: Android classes
  • Native Lib: C/C++ libs
  • Runtime: Dalvik / ART (Android Runtime)
  • Linux kernel: Underlying OS

Activity

Service

  • Started Service
  • Bound Service

ContentProvider

BroadcastReceiver

Linux进程

生命周期

2. Java多线程

基础

内部锁与Java监视器

  • Blocked
  • Executing
  • Waiting

3. Android多线程应用

Android线程

  • UI线程
  • Binder线程
  • Background线程

Linux进程与线程

  • UID: User ID
  • PID: Process identifier
  • PPID: Parent process identifier (For Android: Zygote)
  • Stack: 本地指针与变量
  • Heap: 进程地址空间

调度

  • Priority
Process.setThreadPriority(int priority); // 当前线程. 
Process.setThreadPriority(int     threadId, int priority); // 指定线程id
  • Control group


  • Background Group总共有不能多于 ~5 - 10%的执行时间

线程通信

管道

共享内存

队列

Android Message

  • android.os.Looper: 消息分配器与一个且唯一一个消费线程关联
  • android.os.Handler: 将消息插入队列,Looper有许多handlers,但是他们都将消息插入同一队列
  • android.os.MessageQueue: 不受限制的消息链表每个Looper最多一个链表
  • android.os.Message: 在消费线程执行




进程通信

Android RPC

AIDL

Messenger

内存管理










线程生命周期

线程池生命周期



AsyncTask



Services



AsyncQueryHandler

Loader框架



Android异步机制


References:

  • 《》

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务