黑骑士的博客

也许不止是博客


  • 首页

  • 分类

  • 归档

  • 标签

  • 摄影

  • 关于

  • 站点地图

android 中的线程与进程

发表于 2016-08-12 | 分类于 android基础 |
本文系统梳理 Android 中的进程与线程模型。每个 App 在安装后都会被分配一个独立的 Linux 用户,默认情况下运行在由 Zygote 进程 fork 出来的独立进程中,并且只有一条主线程,界面的绘制全部在这条线程上完成,这正是许多应用界面丢帧卡顿的根本原因,为此官方提供了多线程与多进程的编程支持。文章依次讲解了进程与虚拟机实例的对应关系、四大组件如何通过 process 属性指定各自运行的进程、基于 Binder 机制的进程间通信方式,以及系统在回收内存时按重要性划分的前台、可见、服务、后台与空进程这五级优先级,还讨论了任务与进程之间的关系,以及在实际开发中采用多进程时需要注意的那些问题。
阅读全文 »

Android 中本地化国家及代码表

发表于 2016-04-23 | 分类于 Tools |
这是一份可以直接查阅的 Android 本地化速查对照表。表格中的内容全部来自 Android SDK 里 Locale 类的静态成员常量,在实际开发中直接用 Locale 类访问即可,不必自己逐个拼写地区代码。表中每一行都列出了常量的声明类型、常量名以及它所对应的语言与国家组合,涵盖了 CANADA、CANADA_FRENCH、CHINA、CHINESE、ENGLISH、FRANCE、FRENCH、GERMAN、GERMANY、ITALIAN、ITALY、JAPAN、JAPANESE、KOREA、KOREAN、PRC、ROOT、SIMPLIFIED_CHINESE、TAIWAN、TRADITIONAL_CHINESE、UK、US 等常用取值,并注明各自对应的地区标识,适合在做多语言适配时随手对照使用。
阅读全文 »

在android 6中GCM怎么处理处于Doze模式中的消息推送

发表于 2015-10-01 | 分类于 Android Blog 翻译 |
本文翻译自 Android 官方开发者博客,讲解 Android 6.0 引入的省电特性 Doze 模式对 GCM 消息推送的影响。设备在未连接电源、屏幕熄灭且保持静止一段时间后就会进入 Doze 模式,系统借此推迟应用的活动以达到省电目的,并周期性地开启维护窗口来处理被挂起的操作和网络请求。文章重点对比了两种消息优先级的行为差异:高优先级消息会被立刻推送并直接唤醒处于省电模式的设备,行为与此前的版本一致;而默认的普通优先级消息则会先被攒起来,等到设备进入维护窗口时才成批下发,且存活时间为零的数据包会被直接丢弃。最后给出建议:除即时聊天、来电等必须马上触达用户的情形外,应优先使用普通优先级。
阅读全文 »

android 组件 Service 研究

发表于 2015-06-14 | 分类于 android基础 |
Service 是 Android 四大组件中常用却又最容易被误解的一个,它的职责是执行那些不需要界面的操作,例如网络请求、本地磁盘读写和定时任务,没有图形界面,只会在后台默默运行。文章首先强调了一个关键点:默认情况下 Service 同样运行在 App 的主线程中,并不会自动开启新的线程或进程,因此耗时操作必须自行放到子线程里处理,千万不要把 Service 和线程混为一谈。随后对比了可启动与可绑定两种形式的行为差异与各自的生命周期特点,并用生动的类比加以说明,指出同一个 Service 类在系统中始终是单例的,同时结合源码讨论了能够串行处理请求并自带工作线程的 IntentService,最后介绍了绑定服务的创建方式、服务的回收与重启策略以及不同类型服务所处的进程优先级。
阅读全文 »
<i class="fa fa-angle-left"></i>1…34

34 日志
19 分类
76 标签
GitHub E-Mail Instagram 知乎
© 2026 黑骑士
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4
本站访客数 人次 本站总访问量 次