自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (10)
  • 收藏
  • 关注

原创 常见的亮灭屏流程分析

一 . 亮屏主要关键log驱动按键时间??-?? ??:??:??.??? [14082.058160]  (0)[70:pmic_thread]kpd: Power Key generate, pressed=1上层按键时间09-25 15:13:07.196667   929  1117 D PhoneWindowManager-interceptKeyBeforeQu

2017-11-21 16:05:19 6478

原创 PowerManagerService 关于亮屏和灭屏解题方法

场景是:打电话的结束后,一段时间内手机不灭屏分析思路:搜索updateUserActivitySummaryLocked,如下所示nextTimeout = -1 updateUserActivitySummaryLocked已经执行结束,后续不会发消息重新执行操作接下通过关键字updateDisplayPowerStateLocked查看是否wakelock。查看信息

2016-11-17 17:32:14 2217

原创 PowerManagerService 关于WackLock 休眠过程

一般我们手机在放置一段时间后,会进行自动灭屏,接下来我们分析下自动灭屏的流程        frameworks\base\services\core\java\com\android\server\power\PowerManagerService.java @Override // Binder call public void goToSleep

2016-11-17 17:15:19 4063

原创 PowerManagerServices关于WackLock的acquire和release的流程

常见的我们在app上写入亮屏和灭屏操作如下PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);wacklock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "cn");wacklock.acquire(); //设置保持唤醒if(wackloc

2016-11-17 16:52:59 3215

原创 PowerManagerService开机启动关于WackLock处理的相关流程

Step 1: frameworks\base\services\java\com\android\server\SystemServer.java开启PowerManagerService服务private void startOtherServices() { ... try { // TODO: use boot phase

2016-11-17 13:53:30 2345

原创 学习笔记

I just went through the logs quickly and found:sysTid=13648 is pending for "com.android.bluetooth" sysTid=14943 .In binder_transactions.txt, we can see that proc 14943 had several transactions p

2016-08-05 10:06:00 2020

原创 常见的PKMS问题分析

1.Steps to reproduce the problem:Device updates from an earlier version to any version of Android 6.0.Symptom of the problem:Preloaded apps (e.g. Google Play services or Google Play Store) crash

2016-06-02 16:41:57 1241

原创 常见的WindowManager问题分析

1.UI hang and adb is still alive when running LGE compliant monkey test with DUT for 771 MinutesWindowManagerService主要修改点是在performLayoutAndPlacesurfaceLockedInner(主要用于系统UI刷新)这个方法diff --git a/servic

2016-06-01 15:47:59 3646 1

原创 关于OOM问题分析

1.[FAQ02683]如何将一个app 设置为持久app, 不被low memory kill 关闭[Description]如何将一个app 设置为常住app, 不被low memory kill 关闭[Keyword]app 持久 persistent[Solution]1. 将app 的manifest.xml 中的 application 中添加属性andro

2016-06-01 13:12:55 3391

原创 Android Telephony 框架分析

根据Android系统分层结构对应的Android 通话模块。Java Application应用层---Dailer拨号盘和phone应用Java Framework框架层--Telephony Framework框架层User Libraries系统运行层--RIL层根据对应关系,通过相关的主要的源代码总结及简要说明如下所示:下图所示是Android 打电话应用层流

2016-05-17 14:12:40 2381

原创 Android 代理模式讲解

1.1代理模式介绍代理模式也称为委托模式1.2代理模式的定义为其他对象提供一种代理以控制改对这个对象的访问1.3代理对象的使用场景当无法或不想直接访问某一个对象的时候或者直接访问一个对象存在困难的时候,可以通过一个代理对象来间接访问,以保证客户端的透明性,委托对象与代理对象需要实现相同的接口

2016-05-13 09:34:20 815

转载 Android内存优化之OOM

以下为正文:Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点。这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢!(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的

2016-05-11 09:47:19 538

转载 Android Framework --- PackageManager 分析

同样先看一下静态类结构图:大多数情况下,我们通过Activity 中 getPackageManager获取PackagerManager的子类ApplicationPackageManager这个对象.实际上是ApplicationPackageManager包含了一个IPackagerManager.Stub.Proxy的一个对象,IPackagerManager.Stub.P

2016-05-10 16:46:01 605

转载 Android FrameWork——ActivityManager框架

1.ActivityManager是Android框架的一个重要部分,它负责一新ActivityThread进程创建,Activity生命周期的维护,本blog就是着手对ActivityManager框架作一个整体的了解        2.先看一个静态类结构图:        该图摘自 曹文斌blog        上图很清楚地描述了ActivityManager框架的几个

2016-05-10 14:41:05 619

原创 Launcher3的简要分析

Launcher3的常用类分析1.Launcher:Launcher中的主要Activity2.Workspace:抽象的桌面3.CellLayout:Workspace的一个子View4.FoldIcon:文件夹的图标5.BubbleTextView:图标,一个一个快捷方式6.ItemInfo:从快捷方式、文件夹、小部件抽象出来的数据模型7.LauncherModel

2016-05-08 14:33:21 2237

原创 常见问题修改方法

[SYSTEM-SERVER] Avoid a dead lock between ActivityManager and PowerManager services "main" prio=5 tid=1 Blocked | group="main" sCount=1 dsCount=0 obj=0x73fbbfa8 self=0x7ff7b3024000 | sysTid=3219

2016-05-03 10:20:00 2010

原创 Android 的网络管理框架简要分析

Android的网络管理核心是ConnectivityService和NetworkPolicyManagerService服务。ConnectivityService主要提供网络链接管理服务,NetworkManagementService主要提供物理管理服务。       管理各种网络设备---Netd守护进程.#service netd /system/bin/netd# c

2016-04-27 10:56:11 4612

原创 Android的存储系统的简要分析

Android的存储系统主要由SystemServer进程中的MountServer进程中的MountService和Vold进程中的VolimeManager组成,他们管理着系统的存储设备,执行各种操作,包括mount,unmount,format等。1)在Android的存储系统中,MountService是为应用提供服务的Binder类,运行在SystemServer中,而Storage

2016-04-26 13:59:36 978

原创 开关机动画流程

问题:开关机动画加载黑屏时间过长解决方法[SOLUTION]在开机过程,由于加入开机铃声,在播放动画前需要等待 MediaServer 初始化完成, MediaServer 的初始化可能由于 audio 或者 camera 初始化过慢导致黑屏问题,目前遇到大多都是配置 camera多,导致 camera 初始化阶段 searchbackup sensor 太camera

2016-04-12 13:37:04 1050

转载 Android系统进程间通信Binder机制在应用程序框架层的java接口源代码分析

通过熟悉Android系统的框架知道,Android应用程序之间通信主要是通过JNI调用C/C++语言的Binder运行库来实现java应用程序之间的通信的.其实Binder机制的在应用程序的java接口,主要是通过ServiceManager ,Server,Client三个角色之间的实现.在应用程序中,我们通常把Server实现为Service形式,通过IServiceManager.ad

2016-04-07 17:13:35 1036

原创 PackageManagerService分析

在分析PackageManagerService中main()之前,先分析Settings类.这个类用来保存和PackageManagerService相关的一些设置.先来看看Settings类的方法,代码如下 Settings(Object lock) { this(Environment.getDataDirectory(), lock); } Se

2016-03-29 14:12:42 876

原创 SystemServer分析过程

SystemServer是由zygote进程fork出来的进程.Step 1 如下代码,启动zygote进程以后,SystemServer进程由zygote start出来 service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server soc

2016-03-25 14:59:53 2030

转载 zygote启动过程分析

在Android中,所有的android进程都是init的子孙进程,zygote进程也不例外,也是由init进程fork出来的.接下来我们可以看下init进程在读取init.rc (system/core/rootdir/init.rc)创建zgote的过程.service zygote /system/bin/app_process -Xzygote /system/bin --zygo

2016-03-24 16:02:47 1305

原创 Android系统在新进程中启动自定义服务过程(startService)的原理分析

从图中可以看出,Activity继承了ContextWrapper类,而在ContextWrapper类中,实现了startService函数。在ContextWrapper类中,有一个成员变量mBase,它是一个ContextImpl实例,而ContextImpl类和ContextWrapper类一样继承于Context类,ContextWrapper类的startService函数最终过调用C

2016-03-08 09:44:22 644

转载 谈谈Android的IPC(进程间通信)机制

答:http://blog.csdn.net/luoshengyang/article/details/6618363Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中,android的IPC机制也就是Binder机制,Android系统是基于Linux内核的,而Linu

2016-03-01 17:36:21 2417

转载 android之JNI开发步骤总结

Jni的开发步骤。打开eclipse,新建工程名为testJni。在activity中添加以下代码{code}package com.xzw.jni;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuItem;

2016-03-01 14:07:19 728

原创 常见的UIWDT bug分析案例(1)

Step 1: According the log:     android.display- waiting to lock tid=13     {code}     "android.fg" prio=5 tid=13 Blocked  | group="main" sCount=1 dsCount=0 obj=0x12cce900 self=0x6d2b8c00  |

2016-02-22 14:37:18 5084

原创 framework层bug--USB tethering is not getting enabled

问题:USB tethering is not getting enabled.步骤:Settings-> More->Tethering & portable hotspot->USB tethering//修改代码路径//当启用USB数据连线,先断开uevent,从kernel处接受数据。这但是时间太短uevent接收不到。因此,延时断开uevent到1.5秒。//framew

2016-02-22 11:10:34 671

原创 java 常见的2种单例模式

//懒汉式,就是创建一个class LaySingleton{    public static LaySingleton instanle = null;    public LaySingleton() {        // TODO Auto-generated constructor stub    }        public static synchro

2016-02-22 10:38:55 468

原创 java中向上转型和向下转型

转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展。向上转型:子类引用的对象转换为父类类型称为向上转型。通俗地说就是是将子类对象转为父类对象。此处父类对象可以是接口向下转型:父类引用的对象转换为子类类型称为向下转型。如以下案例public class A {

2016-02-22 09:58:35 2132

原创 Android 5.0 CTS 代码修改日记

1.android.os.cts.BuildVersionTest#testReleaseVersion CTS Log 04-24 19:08:43.460 11050 11065 I TestRunner: failed: testReleaseVersion(android.os.cts.BuildVersionTest)04-24 19:08:43.460 11050 1106

2015-06-30 17:02:52 3855

原创 Java多线程编程

1.线程和进程线程:程序中单独顺序的控制流           线程本身依靠程序进行运行           线程是程序中的顺序控制流,只能使用分配给程序的资源和环境进程:执行中程序           一个进程可以包含一个和多个线程           一个线程至少包含一个线程2.线程的实现   在java中,线程实现的方法有2种   1)继承Thread类

2015-05-20 10:40:12 440

原创 对于framework的目录结构分析以及简单的添加一个java层服务

1.framework/base/packages/  这个目录下面定义了相关的apk 比如SystemUI SettingPrivoder BackupRestoreConfirmation等相关的apk2.framework/base/ Services    定义了相关系统服务3.framwork/webview 主要是浏览器相关的数据定义4.framework/base/ po

2015-05-03 13:55:44 1358

原创 Android 4.4 CTS 代码修改日记

1、直接设置问题estUnknownSourcesOffByDefaultfailjunit.framework.AssertionFailedError: Deviceshould not ship with 'Unknown Sources' enabled by default.expected: butwas: atandroid.provide

2014-12-05 11:35:24 7243 2

ViewPager简单的demo

ViewPager简单的使用,适合新手学习

2013-03-20

Fragment简单使用

主要使用了简单的Fragment简单的切换

2013-03-20

android中listview动态删除

android中listview可以拖动到删除栏中进行动态删除

2013-01-18

百度地图常见问题和解决案例

主要讲解了百度地图常见问题和一些解决方案

2012-12-05

各种Dialogfragment功能demo

demo中讲解了各种Dialogfragment功能

2012-12-05

fragment横竖屏切换demo

android3.0以后利用fragment进行切换

2012-12-05

SharedPreferences数据存储

通过三个Activity模拟SharedPreferences存储。fristActivity用于存储SharedPreferences数据,secondActivity删除SharedPreferences,moreactivtiy用于判断SharedPreferences是否删除,如果删除跳转到secondActivity,没有跳转到fristActivity。

2012-11-24

android读取资源超时demo

通过dialog设计一个进度条,加载超时的时候进行重新加载数据demo

2012-11-21

android项目中读取ini配置文件

将ini文件存在android项目中assets文件夹中,以便于软件开启时自动读取ini系统配置文件。

2012-11-21

天气预报开机动画

天气预报开机简单的跳转动画,以及anim的使用

2012-06-25

空空如也

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

TA关注的人

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