自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

东哥日记

千里之行,始于足下

  • 博客(63)
  • 资源 (10)
  • 收藏
  • 关注

原创 Android NE问题分析方法介绍

文章目录简介Native内存布局NE问题常见类型常用调试工具tombstone抓取流程实例分析tombstone文件内容举例简介NE,全称Native Exception,在Android中主要指在用户空间运行的native程序或者natvie库发生异常。NE问题通常带来程序奔溃现象,导致功能模块不稳定。本文主要介绍有关NE的基本知识、NE问题出现后的基本分析方法、常见的NE问题和常用调试工具。Native内存布局这里主要介绍Native进程的虚拟地址空间,分32bit和64bit进程,camer

2020-11-30 10:21:19 4140

原创 NE问题分析方法 ---- Native栈还原和调试技巧

文章目录简介Native栈还原调试技巧简介NE即Native Exception,我们主要指Android C/C++程序出现异常报错,因Camera HAL是由C/C++实现的,在相机系统开发过程中,经常会碰到NE问题。出现NE问题的原因有很多,如空指针、内存踩踏、FDLEAK、数组越界访问等在出现问题时,Kernel会发送一个signal给user space,user space中有个tombstoned进程接收处理信号,在异常进程奔溃前,tombstoned会将该进程的backtrace、mem

2020-11-30 10:14:21 1565

原创 相机启动时间调试指北

简介相机启动速度是ROM开发中性能优化的重要一环,测试人员经常与对比机对比各个场景下的启动速度,我们可以从以下方面关注相机启动时间,跟对比机比较,看项目慢在哪个环节,本文虽基于Qcom CamX架构,基本步骤是相同的:分解相机启动的步骤:从Touch屏幕到CameraManager中准备open camera打开相机创建CaptureSession启动预览分解下面介绍各个步骤,分解统计耗时,性能分析常用的工具是systrace,可以看到具体线程的工作状态,systrace的基本.

2020-06-25 17:13:29 1351

原创 Android6.0 Telephony流程分析——数据连接Enable过程

数据连接有两个操作,打开或者关闭,本文分析的数据连接打开的过程,先附上时序图,此图只是打开数据连接开关的主要过程,仅供参考。step2,PhoneInterfaceManager是ITelephony的服务端。step3,根据SIM卡的情况,选择GSMPhone或者CDMAPhone,这两phone的setDataEnabled都是step4。step5,通知modem

2017-04-07 10:21:48 3475

原创 Android6.0 Framework分析——应用程序APP的安装过程

应用程序的安装是通过包管理服务PackageManagerService完成的,常见的安装方式有以下几种:① 内置APP随着系统启动PMS而安装。② 使用adb install命令安装。③ 通过系统内置的PackageInstaller应用安装。④ 在一些手机厂商内置的应用商店下载,然后静默安装。分析源码之后,会发现,其实只有两种方式,一是系统内置应用通过Packa

2016-08-05 18:00:17 4665

原创 Android5.1 Framework分析----如何在SystemServer中添加系统服务

本文以mtk android5.1为研究对象。Android的系统服务都是托管给ServiceManager管理的,我们可以自定义一个自己的服务,并将其添加到ServiceManager中,本文以添加一个Tts语音服务为例,供应用层调用。1、首先,在frameworks/base/core/java/android/app中新建一个aidl文件 ITtsManager.aidl,内

2016-07-12 17:39:56 6712 6

原创 Android6.0 Telephony流程分析——PhoneApp启动主要类关系分析

本文代码以MTK平台Android 6.0为分析对象,与Google原生AOSP有些许差异,请读者知悉。PhoneApp(包名com.android.phone)主要代码位于packages/services/Telephony/frameworks/opt/telephony/frameworks/base/telephony/com.android.phone进

2016-05-27 12:51:37 3241

原创 Android5.1 Telephony流程分析——拨打电话流程(MO CALL)

本文代码以MTK平台Android 5.1为分析对象,与Google原生AOSP有些许差异,请读者知悉。此图主要是根据Android源代码拨打电话流程来绘制,记录了电话拨打的主要过程:参考博客:http://blog.csdn.net/yihongyuelan/article/details/45098339

2015-08-29 11:23:22 4391

原创 Android SDK 在线更新镜像服务器资源

大连东软信息学院镜像服务器地址:    http://mirrors.neusoft.edu.cn 端口:80北京化工大学镜像服务器地址:    IPv4: http://ubuntu.buct.edu.cn/ 端口:80    IPv4: http://ubuntu.buct.cn/ 端口:80    IPv6: http://ubuntu.buct6.edu.c

2015-04-26 22:51:59 1622

原创 Android5.0模拟器无法上网

最近新下载的android5.0.1代码编译出的模拟器无法上网,提示net::ERR_NAME_NOT_RESOLVED。网上找了一下,解决方法很简单:1.启动模拟器2.如下图:adb shell getprop net.dns1 //查看dns的值adb shell setprop net.dns1 192.168.1.1 //设置dns,一般是你路由器的ip(这个i

2015-01-11 15:06:35 4419

原创 Ubuntu14.04安装Moka icon

step1.安装unity-tweak-tool工具,ubuntu的主题管理工具sudo apt-get install unity-tweak-toolstep2.添加ppa源,网上很多帖子介绍的源已经失效了sudo add-apt-repository ppa:moka/stablesudo apt-get updatesudo apt-get install mo

2015-01-11 14:28:02 2514

转载 关于Android手机MTP模式连接的一些设置(win7和ubuntu下,以红米1s为例)

有些手机的MTP模式在电脑上识别不了,需要一些设置才可以,下面就网上收集来的一些设置方法集中贴过来:一、 win7下参考:http://blog.ammrli.com/?p=11171、在设备管理器-便携设备-MTP设备(带黄色感叹号的)点右键,看查看设备的VID和PID,如果是红米1S的话应该就是vid 2717和pid 12682、 打开c:\windows

2015-01-10 21:01:42 3784

原创 Android4.4 应用分析——修改Launcher3应用以适应单屏壁纸

Android4.4的墙纸信息存放在/data/system/users/0/目录下,WallpaperManagerService启动后,会生成如下两个文件在/data/system/users/0/目录下: static final String WALLPAPER = "wallpaper"; //设置的墙纸图片,一般为jpeg格式 static final Strin

2014-12-28 15:26:38 2424

转载 Android Launcher桌面图标显示数字

之前一直以为是应用本身在对图标进行修改,看了源码之后发现其实主要的工作并不是应用自己完成的,主要的工作在是launcher里面完成的.关于系统里面类似未读短信的具体处理流程如下: 原理一个应用要实现这个效果,就要在自己有未读的消息的时候发送一个广播告诉系统我有未处理的事件了(例如:短信,电话和邮件等),同时将相关的信息进行保存,比如应用的名称(这里指的是Comp

2014-12-24 22:23:51 3858

原创 Android4.4 Framework分析——Android默认Home应用Launcher3的加载过程分析

本文主要介绍Android4.4默认Home应用Launcher3的启动过程和Launcher3的数据加载过程。Launcher的启动是开机时,ActivityManagerService准备好后开始的,下图是它的启动序列图:step1,SystemServer中,ActivityManagerService准备好了。step3, boolean resumeTopAct

2014-12-14 22:47:54 2905

原创 Android与设计模式——模板方法(Template Method)模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的:  模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。模板方法模式的结构  模板方法模式是所有模

2014-12-09 18:32:41 1179

原创 Android4.4 Framework分析——Activity窗口的创建过程(一)

学习android的窗口模块一周多了,感觉自己对这个模块的理解还是比较模糊,先把get的知识点记录一下。下图是学习过程记录的activity窗口启动过程序列图,没有或者没办法完整的描绘出来,整个过程比较复杂:整个学习过程中是参照老罗的android之旅博客和《深入理解android内核设计思想》一书来辅助的,非常感谢前辈。Activity的整体启动过程可查看Android4.4

2014-12-04 22:45:30 1572

原创 Android与设计模式——组合(Composite)模式

定义(GoF《设计模式》):将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和使用具有一致性。  涉及角色  1.Component:(View)是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component子部件。  2.Leaf:(TextView、自定义View)在组合中表示叶子结点对象,叶子

2014-12-04 19:31:18 1090

原创 Android4.4 Telephony流程分析——联系人(Contact)列表缩略图的加载过程

本文代码以MTK平台Android 4.4.2为分析对象,与Google原生AOSP有些许差异,请读者知悉。Android联系人列表的缩略图加载主要用到ContactPhotoManager.java这个类,这是个抽象类,实现了ComponentCallbacks2接口,其内部有个它的具体实现类,叫ContactPhotoManagerImpl,ContactPhotoManagerI

2014-12-03 20:33:00 4327

原创 Android4.4 Telephony流程分析——拨号应用(Dialer)的通话记录加载过程

本文代码以MTK平台Android 4.4为分析对象,与Google原生AOSP有些许差异,请读者知悉。Android系统通话记录存储在联系人数据库contacts2.db中的calls表中,通话记录(calllog)存储到数据库的时机可查看我之前的一篇博客Android4.4 Telephony流程分析——电话挂断step39,系统提供了CallLogProvider这个Cont

2014-12-01 18:51:48 3747

原创 Android与设计模式——装饰者(Decorator)模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的:  装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式的结构  装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加

2014-11-28 19:04:49 2462

原创 第九届北京高中数学知识应用竞赛初赛——猫抓老鼠问题

第九届北京高中数学知识应用竞赛初赛第二题原题:一只老鼠为了躲避猫的追捕,跳入了半径为R的圆形湖中.猫不会游泳,只能沿湖岸追击,并且总是试图使自己离老鼠最近(即猫总是试图使自己在老鼠离岸最近的点上)。设猫在陆地上的最大速度是老鼠在湖中游泳的速度的4倍。问老鼠能否摆脱猫的追击?(如果老鼠上岸时猫不在老鼠上岸的位置,则认为老鼠摆脱了猫的追击.)解答:如图,设鼠从A点跳入水中,开始一直往圆心O

2014-11-24 09:50:14 2299

原创 Android4.4 Framework分析——ActivityManagerService的启动和对Activity的管理

本文主要介绍android4.4中ActivityManagerService的启动和ActivityManagerService对Activity堆栈的管理。一、ActivityManagerService的启动ActivityManagerService也是在SystemServer启动的时候创建的,class ServerThread { .......  pub

2014-11-23 17:25:59 4027 2

原创 Android4.4 Framework分析——PackageManangerService的启动过程

参考:PackageManagerService启动及初始化流程

2014-11-21 22:20:39 1350

原创 Android与设计模式——状态(State)模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的:  状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。  状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的结构  用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每

2014-11-19 18:41:53 2287

原创 Android4.4 Framework分析——Zygote进程的启动过程

Android启动过程中的第一个进程init,在启动过程中会启动两个关键的系统服务进程ServiceManager和Zygote。本文要介绍的就是Zygote进程的启动,Zygote俗称孵化器,专门用于生产(启动)新的进程。Zygote是在Init.rc(aosp/system/core/rootdir)里描述并由init进程启动的。相关代码如下:       service zygote

2014-11-17 23:08:09 1363

转载 短信PDU编码解析

短信PDU编码解析一 概述  问题:接收飞信或者配合终端发送的长短信(两三百个字)或者接收运营商发送的话费信息,长短信总是接收不完整。其中会有某些段有丢失。原因分析:1 手机接收到了,但是拼接错误         这样的结果是多条接收不完整的信息,基本上是可以排除的2 网络发送了,手机信号问题或者繁忙,碰巧处理不过来         网络端会

2014-11-17 15:46:03 1826

原创 Android4.4 Telephony流程分析——GsmServiceStateTracker管理网络服务状态

本文代码以MTK平台Android 4.4为分析对象,与Google原生AOSP有些许差异,请读者知悉。本文主要介绍GsmServiceStateTracker是怎么管理网络的?手机开机后,怎么去注册网络?网络状态是怎么变换传递的。 Android在ServiceState.java中定义了四种ServiceState状态和16中无线通信网络类型:public class Se

2014-11-15 11:57:46 6883

原创 Android4.4 Framework分析——getContentResolver启动ContentProvider的过程

ContentProvider的创建一般是在第一次使用的时候。没时间分析,可参考老罗的分析 http://blog.csdn.net/luoshengyang/article/details/6963418

2014-11-15 00:23:24 1885

原创 Android4.4 Telephony流程分析——SIM卡开机时的数据加载

本文代码以MTK平台Android 4.4为分析对象,与Google原生AOSP有些许差异,请读者知悉。       本文主要介绍sim卡数据的读取过程,当射频状态处于准备状态时,此时UiccCardApplication应处于AppState.APPSTATE_READY状态,我们沿着这个信号跟踪下去。阅读本文时可先阅读Android4.4 Telephony流程分析——SIM卡开机时的

2014-11-14 18:04:03 5499 1

原创 Android与设计模式——代理(Proxy)模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述代理(Proxy)模式的:  代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式的结构。  所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。  代理模式类图如下

2014-11-13 19:48:41 2513

原创 Android4.4 Framework分析——广播的注册(BroadcastReceiver)和发送(sendbroadcast)过程分析

在Android应用程序框架中,Activity和Service类都继承了ContextWrapper类,因此,我们可以在Activity或者Service的子类中调用registerReceiver函数来注册广播接收器。下图是在activity中注册广播的过程:step1~step3,就是一般的调用过程。step4,registerReceiverInternal()

2014-11-11 23:16:07 2782

原创 Android与设计模式——单例(Singleton)模式

概念:  java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。  单例模式有一下特点:  1、单例类只能有一个实例。  2、单例类必须自己自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话

2014-11-11 19:49:52 1647

原创 Android4.4 Telephony流程分析——SIM卡开机时的初始化

本文代码以MTK平台Android 4.4为分析对象,与Google原生AOSP有些许差异,请读者知悉。本文主要介绍MTK Android开机时,SIM卡的Framework部分初始化过程。先看一段注释: /* Once created UiccController registers with RIL for "on" and "unsol_sim_status_change

2014-11-11 17:32:34 10160 1

原创 Android4.4 Framework分析——startService的创建过程

本文主要是简要分析一下startservice的启动源码,给出了service的大概启动过程。

2014-11-08 20:10:01 2393

原创 Android与设计模式——观察者(Observer)模式

Android Telephony源码中用到了大量的观察者模式,理解观察者模式,有助于我们阅读源码。

2014-11-08 11:15:54 2030

原创 Android4.4 Telephony流程分析——彩信(MMS)发送过程

本文代码以MTK平台Android 4.4为分析对象,与Google原生AOSP有些许差异,请读者知悉。本文贴出的是彩信发送成功的序列图

2014-11-07 18:01:01 1790

原创 Android4.4 Telephony流程分析——短信(SMS)接收过程

本文主要给出了framework接收到信息sms并传输给系统Mms应用的整个过程。

2014-11-06 11:59:08 2597

原创 Android4.4 Telephony流程分析——短信(SMS)发送过程

本文主要给出了android系统短信应用Mms发送短信到framework及framework发送到RILD的过程。

2014-11-04 18:24:47 1465

原创 Android4.4 Framework分析——Launcher中启动应用程序(startActivity)的过程

Launcher启动应用程序的整个过程中,

2014-11-02 21:48:16 2774

深入理解Android Telephony原理剖析与最佳实践完整版

深入理解Android Telephony原理剖析与最佳实践

2014-09-23

Mars+android视频教程

TXT文件中有迅雷下载地址,直接复制就可用迅雷下载

2013-03-05

Linux下c编程

Linux下c编程

2012-04-15

MTK主要模块详细设计说明书

MTK主要模块详细设计说明书,如电话本、信息、设置等主要模块的消息设计

2011-10-19

MTK资源提取工具

MTK资源提取工具,可以从bin文件中提取到gif、jpeg、MP3资源,谢谢下载

2011-10-19

微机与接口课件 戴梅萼

希望能对你们学习接口有点帮助 微机与接口课件 戴梅萼

2009-12-11

计算机操作系统 (汤子瀛) 习题答案_khdaw

计算机操作系统 (汤子瀛) 习题答案_khdaw

2009-12-11

数据库原理与应用全稿幻灯片

它是学习数据库原理的好帮手,能快速有效的帮你掌握数据库的基本知识

2009-03-15

数据库原理与应用全稿幻灯片

全面讲述了数据库原理的基本知识,有助于更深一步的学习

2009-03-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除