《Android 源码分析(0)》 Android 8.0 源码下载编译

1. 介绍

最近打算利用工作之余,学习Android源码。自从开始接触应用开发之后,这一块就一直被忽略了。今天从Ubuntu系统安装开始,到Android8.0的代码编译完成,参照别人的经验,过程还算比较顺利。

《Android Framework 之路》 N版本 Framework Camera的一些改动

前言

Android N版本最近发布,Nougat是否好吃,不得而知,慢慢看下~ 感谢AndroidXref这个网站,给开发者提供了大量的便捷~以后学习Android就靠它了。

《Android Framework 之路》BootAnimation(2)

前言

上一篇主要讲解了BootAnimation是从何而来,如何启动,从开机,到SurfaceFlinger服务起来,然后到执行开机动画,如果要深入的看里面的代码,是需要花一定的时间的,我们旨在了解大致的流程,具体流程中的函数,变量意义,具体实现,读者请自研。
由来已知,执行待述~

《Android Framework 之路》BootAnimation(1)

介绍

开机动画,BootAnimation,就是Android手机开机郭晨各种以一个展示给用户的界面,实际是一个多个帧组成的动画,在界面上进行一帧一帧的播放,形成开机动画的效果。
本文针对Android5.1源码分析BootAnimation

《Android Framework 之路》多线程

多线程编程

JAVA多线程方式

  1. 继承Thread线程,实现run方法
  2. 实现Runnable接口 JAVA单继承性,当我们想将一个已经继承了其他类的子类放到Thread中时,单继承的局限就体现出来了
    但是可以实现多个接口,所以第二种方法相对于第一种来说灵活许多
    其次,通过
    new Thread(Runnable runnable).start()
    启动线程的方式,若变量在runnable中定义,多个线程可以共用,因为来自同一个对象
    比较适合多个相同程序代码的线程去处理同一资源的情况

《Android HAL 之路》 HAL 简介

HAL层概述

名称: HAL, Hardware Abstracting Layer,中文名字:硬件抽象层。
作用:对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。向上衔接Android Runtime和Framework,向下衔接驱动程序
产生原因:利益,竞争

Android代码结构中,HAL层的内容主要集中在Hardware目录中,结合之前讲解Camera模块的时候提到的
system/lib/hw/camera.$(TARGET_BOARD_PLATFORM).so

HAL层的内容集成在动态库中,然后CameraService通过这个So访问其中的内容。

《Android Framework 之路》Android5.1 MediaScanner

前言

MediaScanner是Android系统中针对媒体文件的扫描过程,将储存空间中的媒体文件通过扫描的方式遍历并存储在数据库中,然后通过MediaProvider提供接口使用,在Android多媒体中占有很重要的位置。

《Android Framework 之路》Android5.1 Camera Framework(四)——框架总结

前言

从之前的几篇文件,可以基本弄清楚 Camera从APK,经过framework的衔接,与HAL层进行交互,最终通过驱动完成Camera的一些动作。

《Android Framework 之路》Android5.1 Camera Framework(三)

上一次讲解了一下startPreview过程,主要是为了画出一条大致的从上到下的线条,今天我们看一下Camera在Framework的sendCommand和dataCallback,这部分属于衔接过程,可以看到上下是如何交流沟通的。

《Android Framework 之路》Android5.1 Camera Framework(二)

上一次讲解了一下CameraService的启动过程,今天梳理一下Camera预览的过程

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×