- 博客(12)
- 资源 (2)
- 收藏
- 关注
转载 Android系统和Linux系统的对比
Android平台是基于Linxu内核搭建的,Linux内核的优势在于大内存管理、进程管理、基于权限的安全模型、统一的驱动模型、共享库支持、代码开源等。android平台在设计过程中,针对移动终端资源有限的特点,对linux进行了一定程度的裁剪:砍掉了原生的窗口系统、去除了对GNU Libc的支持(引入了更高效、针对嵌入式优化过的Bionic)、裁剪掉了一些标准Linux工具的部分特性等。
2017-06-30 10:40:53 3978
转载 Android上电开机流程
Android的开机流程 分类: Android 转: 1. 体系勾引bootloader 1) 源码:bootable/bootloader/* 2) 申明:加电后,CPU将先履行bootloader法度,此处有三种选择 a) 开机按Camera+Power启动到fastboot,即号令或SD卡烧写模式,不加载内核及文件体系
2017-06-29 14:28:09 4888
转载 Android启动过程深入解析
当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么样的? 什么是Linux内核? 桌面系统linux内核与Android系统linux内核有什么区别? 什么是引导装载程序? 什么是Zygote? 什么是X86以及ARM linux? 什么是init.rc? 什么是系统服务?当我们想
2017-06-28 18:01:00 276
转载 为Android添加一个开机完成后执行的脚本
1.完成对应的执行脚本编写,并将该脚本放在编译项目对应的路径下。比如写一个xxx.sh脚本,在脚本中加入自己所以执行的任务对应的命令。并将该脚本放在编译工程对应的路径下,比如:device/ti/jacinto6evm2.在init.rc中创建该服务编写自己要执行的服务,比如:service service_xxx /system/bin/xxx.sh u
2017-06-28 17:57:56 516
转载 Android or Linux 的休眠与唤醒
Linux休眠/唤醒简介休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状态来延长电池的续航时间。这篇文章就详细介绍一下linux中休眠/唤醒是如何工作的,还有Android中如何把这部分和Linux的机制联系起来的.在Linux中,休眠主要分三个主要的步骤:1)冻结用户态进程和内核态任务2)调用注册的设备的suspend的回调函数,顺序是按照注册顺序
2017-06-26 18:11:56 4557
转载 Android内存优化总结&实践
导语智能手机发展到今天已经有十几个年头,手机的软硬件都已经发生了翻天覆地的变化,特别是Android阵营,从一开始的一两百M到今天动辄4G,6G内存。然而大部分的开发者观看下自己的异常上报系统,还是会发现各种内存问题仍然层出不穷,各种OOM为crash率贡献不少。Android开发发展到今天也是已经比较成熟,各种新框架,新技术也是层出不穷,而内存优化一直都是Android开发过程一个不可避免的
2017-06-26 11:57:23 474
转载 Android 内存管理 &Memory Leak & OOM 分析
1、Android 进程管理&内存Android主要应用在嵌入式设备当中,而嵌入式设备由于一些众所周知的条件限制,通常都不会有很高的配置,特别是内存是比较有限的。如果我们编写的代 码当中有太多的对内存使用不当的地方,难免会使得我们的设备运行缓慢,甚至是死机。为了能够使得Android应用程序安全且快速的运行,Android 的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,它是由Z
2017-06-26 11:03:35 309
转载 Android进程的内存管理分析
最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误。这样对android内存管理进行局部性介绍,很难使读者建立系统性概念,无法真正理解内存管理,对提高系统优化和系统稳定性分析方面的能力是不够的。 我结合自己的一些思考和理解,从宏观层面上,对内存管理做一个全局性的介绍,在此与大家交流分享
2017-06-26 10:38:05 319
原创 如何调整Linux内核启动中的驱动初始化顺序
如何调整Linux内核启动中的驱动初始化顺序Linux内核为不同驱动的加载顺序对应不同的优先级,定义了一些宏:include\linux\init.h#define pure_initcall(fn) __define_initcall("0",fn,1)#define core_initcall(fn) __define_initcall("1",fn,1)#define c
2017-06-12 10:09:31 5248
原创 如何调整Linux内核启动中的驱动初始化顺序
如何调整Linux内核启动中的驱动初始化顺序Linux内核为不同驱动的加载顺序对应不同的优先级,定义了一些宏:include\linux\init.h#define pure_initcall(fn) __define_initcall("0",fn,1)#define core_initcall(fn) __define_initcall("1",fn,1)#de
2017-06-12 10:06:27 4448
原创 MTK GPIO的定制详解
如果需要定制GPIO口呢,需要使用mediatek/dct/DrvGen.exe工具,点击Open,选择mediatek/custom/project_dir/kernel/dct/dct/codegen.dws文件,点击Edit,将出现如图所示的一个窗口:EintMode: 指示是否当作中断引脚来使用,例如GPIO0就可以当作ENTI0,如果选中了该模式,其它模式是不可见的。Def.Mo
2017-06-07 15:41:42 2173 3
转载 使用gdb进行调试
GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、动态的改变你程序的执行环境。 一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在
2017-06-06 13:42:57 327
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人