android平台
文章平均质量分 91
青丶空゛
一歩ずつ歩み続けてはじめて千里の遠くに行き着けるし.
(如果个别文章图片不见了,建议访问我的博客园找对应文章,[https://www.cnblogs.com/ailumiyana],懒癌又犯了,懒得改了 哈哈)
展开
-
Binder学习指南
毫不夸张地说,Binder是Android系统中最重要的特性之一;正如其名“粘合剂”所喻,它是系统间各个组件的桥梁,Android系统的开放式设计也很大程度上得益与这种及其方便的跨进程通信机制。理解Binder对于理解整个Android系统有着非常重要的作用,Android系统的四大组件,AMS,PMS等系统服务无一不与Binder挂钩;如果对Binder不甚了解,那么就很难了解这些系统机制,转载 2017-07-11 16:16:36 · 551 阅读 · 0 评论 -
安卓第一次启机时间很长的原因
在做Android内核开发的过程中,我们会发现,每次编译完系统源码,烧录到设备/手机中后,第一次启动都会很慢很慢,要好几分钟甚至十几分钟,为什么会出现这样的现象呢?系统刷机后第一次启动与后面再次启动有什么不同呢?要解答这个问题,首先我们需要了解一下AndroidDalvik虚拟机,以及Dalvik-cache。由于嵌入式设备内存有限、CPU处理器不够强大、功耗敏感等原因,Google没有使用标准转载 2017-12-15 11:02:19 · 990 阅读 · 0 评论 -
ANR详解
[java] view plain copy来自: http://blog.csdn.net/tjy1985/article/details/6777346 http://blog.csdn.net/tjy1985/article/details/6777355 http://blog.csdn.net/tjy1985/article/detail转载 2017-12-07 10:53:36 · 362 阅读 · 0 评论 -
Android开发环境部署——非常详细的Android开发环境搭建教程
转载 : http://www.cnblogs.com/zoupeiyang/p/4034517.html引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助。 本转载 2017-06-12 15:49:07 · 936 阅读 · 0 评论 -
Android系统的开机画面显示过程分析
1. 第一个开机画面的显示过程 Android系统的第一个开机画面其实是Linux内核的启动画面。在默认情况下,这个画面是不会出现的,除非我们在编译内核的时候,启用以下两个编译选项: CONFIG_FRAMEBUFFER_CONSOLE CONFIG_LOGO 第一个编译选项表示内核支持帧缓冲区控制台,它对应的配置菜单项为:Device Drivers ---> Graphics support ---> Console display dri转载 2017-08-04 16:58:58 · 371 阅读 · 0 评论 -
Android中的Intent详解
转载自:Http://Www.Coderonline.Net/【Android基础】Android中的Intent详解.Html#Rd&Sukey=Fc78a68049a14bb2fef19c8057435aae8b3e6b677a14bc8afe95a1dad342644dc4d361f72bacc808a7443979526bc574前言:每个应用程序都有若干个Activity转载 2018-01-10 10:28:03 · 278 阅读 · 0 评论 -
Android事件输入系统(Input System)
http://blog.csdn.net/jinzhuojun/article/details/41909159其实Android 5.0中事件输入子系统的框架和流程没有本质变化。Service端的实现在/frameworks/native/services/inputflinger/下(4.4中在/frameworks/base/services/input下)。通用部分的实现在/f转载 2017-08-17 10:46:33 · 1024 阅读 · 0 评论 -
Android系统介绍与框架
转于:http://blog.csdn.net/byxdaz/article/details/9457371一、Andriod是什么?Android系统是Google开发的一款开源移动OS,android中文名被国内用户俗称“安卓”。Android操作系统基于Linux内核设计,使用了Google公司自己开发的Dalvik Java虚拟机。Android操作系统已经成为全球最大的智能手转载 2017-06-12 15:30:16 · 298 阅读 · 0 评论 -
Android Studio项目目录结构介绍
新建工程项目后AS的Product目录结构如下所示:.idea://AS生成的工程配置文件,类似Eclipse的project.properties。app://AS创建工程中的一个Module。gradle://构建工具系统的jar和wrapper等,jar告诉了AS如何与系统安装的gradle构建联系。External Libraries://不是一个文件夹,只是依赖lib文件,如SDK...转载 2017-07-19 11:43:06 · 965 阅读 · 0 评论 -
安卓ConnectivityManager和NetworkInfo详解
一. ConnectivityManager详解 概要 ConnectivityManager是网络连接相关的管理器,它主要用于查询网络状态并在网络发生改变时发出状态变化通知。这个类主要负责的下列四个方面: 1. 监控网络状态(包括WiFi, GPRS, UMTS等)。 2. 当网络连接改变时发送广播Intent。转载 2017-11-23 09:17:34 · 1287 阅读 · 0 评论 -
Android的init过程详解(二)初始化语言(init.rc)解析
本文及后续几篇文章将对Android的初始化(init)过程进行详细地、剥丝抽茧式地分析,并且在其中穿插了大量的知识,希望对读者了解Android的启动过程又所帮助。本章主要介绍了与硬件相关初始化文件名的确定以及属性服务的原理和实现。 Android本质上就是一个基于Linux内核的操作系统。与Ubuntu Linux、Fedora Linux类似。只是Android在应用层专门为转载 2017-10-13 11:34:24 · 345 阅读 · 0 评论 -
如何统计Activity启动所用的时间?
如何统计Activity启动所用的时间?可以通过分析Log得到(这个就是DDMS的那个Log)。当我们点击触摸时会了类似以下的Log A:03-06 03:36:47.865: VERBOSE/InputDevice(2486): ID[0]=0(0) Dn(0=>1)03-06 03:36:47.865: INFO/PowerManagerService(2486转载 2017-10-12 17:44:20 · 1176 阅读 · 0 评论 -
SurfaceFlinger服务
SurfaceFlinger服务负责绘制Android应用程序的UI,它的实现相当复杂,要从正面分析它的实现不是一件容易的事。既然不能从正面分析,我们就想办法从侧面分析。说到底,无论SurfaceFlinger服务有多复杂,它都是为android应用程序服务的,因此,我们就从Android应用程序与SurfaceFlinger服务的关系入手,来概述和制定SurfaceFlinger服务的学习计划。转载 2017-08-04 16:33:54 · 281 阅读 · 0 评论 -
Android -- PackageManagerService APK安装流程简要分析
Android -- PackageManagerService APK安装流程简要分析在Android系统下,我们一般会使用"adb install -r"命令来安装应用;此时应用会被安装到/data/app/下。这篇文章,我们就简要分析PackageManagerService安装apk的中间处理过程。在进入PackageManager之前,我们先看下有转载 2017-08-11 19:31:11 · 1093 阅读 · 0 评论 -
Android属性系统介绍
Android属性系统简介 1、简介 在android 系统中,为统一管理系统的属性,设计了一个统一的属性系统。每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。在编译的过程中会将各种系统参数汇总到build.proc 以及default.转载 2017-08-07 09:29:20 · 490 阅读 · 0 评论 -
Android/linux修改cpu频率
现在的Android手机双核、四核变得非常普遍,同时CPU频率经常轻松上2G,功耗肯定会显著增加。而大多数的ARM架构的CPU采用的是对称多处理(SMP)的方式处理多CPU。这就意味着每个CPU核心是被平等对待的,同时打开又同时关闭。显然,这样的做法在Mobile Device上显得很耗能。所以,Qualcomm的Snapdragon CPU使用了一种叫非对称多处理(aSMP)的技术,每个CP转载 2017-09-04 10:00:17 · 2582 阅读 · 1 评论 -
Java native关键字
今天研究Java基础类库,Object类的时候,发现了一个关键字:native咦?这是个什么东东?它认识我,我可不认识它!嘿嘿,没关系,baidu一下。 Java native关键字 一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实转载 2017-09-05 15:35:16 · 176 阅读 · 0 评论 -
安卓蓝牙流程
Android 4.4 Bluetooth学习之一标签: android 蓝牙 pan android 蓝牙流程 android ibluetooth 转自: http://my.oschina.net/u/1436933/blog/192060一、写在前面的话近来由于项目需求需要搞蓝牙这一块,之前在上家公司带LC(本地连接)组时也做过一点蓝牙转载 2017-08-23 21:11:25 · 659 阅读 · 0 评论 -
Android智能指针分析(sp、wp)
在Android native编写代码时,会经常接触到sp、wp,sp并不是smart pointer的意思,而是strong point;wp就是weak pointer。这两个概念比较像Java中的强弱引用,使用sp和wp可以让编程人员不需要再关系内存的释放问题,防止内存泄露。下面先来看它们的类关系图:要实现内存的自动释放,sp、wp必须结合RefBase这个类来使用,在a转载 2017-08-29 17:11:48 · 737 阅读 · 0 评论 -
安卓vold详解
一 Vold工作机制分析 vold进程:管理和控制Android平台外部存储设备,包括SD插拨、挂载、卸载、格式化等; vold进程接收来自内核的外部设备消息。Vold框架图如下: Vold接收来自内核的事件,通过netlink机制。 Netlink 是一种特殊的 so转载 2017-09-15 15:14:01 · 2624 阅读 · 0 评论 -
安卓日志架构(一)
我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是Android应用程序还是系统组件。在前面的文章浅谈Android系统开发中LOG的使用中,已经简要地介绍了在Android应用程序开发中Log的使用方法,在这一篇文章中,我们将更进一步地分...转载 2017-12-06 19:26:55 · 771 阅读 · 0 评论