自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

听说读写

学习,总结,进步

  • 博客(285)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android内存管理与泄漏场景分析

前言这次分三篇文章分享Android内存管理与检测的办法,分别是内存管理概要与泄漏的原理,内存泄漏进程定位,内存泄漏进程内部代码段定位。本来还有几项如在lmkd基础上设计的增强型内存管理机制,Native进程泄漏定位方法等,由于涉及到专利部分所以就不公开了。要分享的三篇文章是我在实际项目中使用并不断改善总结的,相信大家看懂之后会有很大用处。目录1. 背景介绍1.1 JVM内存...

2019-03-13 10:12:05 381

原创 Android组件、ActivityManagerService、进程管理框架分析

前言 本文是在项目实践结束后按照Linux进程、线程基础原理到应用组件的工作流程进行个人总结而成的。其中Linux进程、线程部分配有额外的例程和说明资料,有需要的朋友可以Email我,这里就不插入这部分资料了,同时这些内容在网上也很多可以自行查询。最期望的,希望分享的这篇文章能给开发者带来一定的用处,文章中若有错漏之处,欢迎大家的反馈和讨论。一. ActivityManager...

2019-03-06 09:17:40 1558

转载 Linux进程间通信方式

进程与进程通信的概念 进程通信的应用场景 进程通信的几种方式 管道 管道简介 管道原理 管道如何通信 管道如何创建 管道读写实现 管道api与用法 普通管道 流管道 命名管道 实现原理 api与应用 匿名管道和有名管道总结 信号 信号来源 信号生命周期和处理流程 api使用 消息队列 实现原理 api与应用以Posix为例 共享内存

2020-10-30 14:50:18 518

转载 Linux内存管理

现在的服务器大部分都是运行在Linux上面的,所以作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射 内存管理的方式 缺页异常先来看一些基本的知识,在进程看来,内存分为内核态和用户态两部分,经典比例如下:从用户态到内核态一般通过系统调用、中断来实现。用户态的内存被划分为不同的区域用于不同的目的:当然内核态也不会无差别地使用,所以,其划分如下:下面来仔细看这些内存是如何管理的。地址在Linux内部的地址的映射过程为逻辑地址–>线性地

2020-10-27 11:28:31 563

原创 Android Java进程memleak自动化检测与堆转储方法

前言由于前一篇文章讲了如何在Java应用集群中高效找出内存泄漏进程的方法,现在开始分享Java进程memleak自动化检测与堆转储方法。在Java进程集群中,某一个或几个Java进程内存泄漏场景经常是很隐蔽的,这可能需要一系列的进程间业务动作才能暴露出来。同样,在某一个存在内存泄漏的Java进程内部,如果直接研究代码是否存在内存泄漏,这对理论基础和实际经验要求很高,而在高强度的实际场景测试...

2019-03-15 07:47:50 747

原创 Android Java进程集群内存泄漏定位

前言本篇文章讲述如何在Java进程集群中有效率的找到内存泄漏的进程,通过完成这一步,才能进行下一步进程内部代码段/对象内存泄漏的位置点。由于产品化的Android系统中会集成数量众多的App应用集群,通过AndroidStudio DDMS逐个排查应用泄漏问题是很难的,工作效率低,而且泄漏的场景也并非常规模式能够复现。实际上更多的情况是测试使用中出现了严重的内存泄漏情况,而此时系统是离线状...

2019-03-14 06:56:39 243

原创 Android Java进程动态注入Hack技术

前言 Android Java进程注入Hack技术可以一定程度上弥补离线日志方式下问题分析方法的不足,即可以在离线运行条件下动态注入故障进程,实时获取进程内部运行时数据,也可以为热修复、调试提供技术基础。 Android系统在加载启动一个apk应用时,ActivityManagerService服务(后续简称AMS)会首先确认应用包名、用户名、签名信息以及目标进...

2019-03-12 07:49:30 1524

原创 Android Watchdog框架解析、应用与改造(下)

接着上一篇WTD的介绍 ,看下实际死锁情况下,WTD的功能与改造。最近遇见Android开机一直停留在动画界面,查看trace文件发现死锁了,简要信息如下:"main" prio=5 tid=1 MONITOR | group="main" sCount=1 dsCount=0 obj=0x4c20f360 self=0x71e1ade0 | sysTid=519 nice...

2015-12-11 14:17:12 2708

原创 Android Watchdog框架解析、应用与改造(上)

简言: frameworks/base/services/java/com/android/server/ 系统框架服务目录下,可以看到名为Watchdog.java文件,这是一个软件看门狗的实现,其主要目的为检测系统锁的持有情况,若发生超时持有锁情况,则视为系统锁死,将作出终止或者继续等待等处理。 而最近我还是遇到系统在开机启动时一直停留在开机动画界面,从trace...

2015-12-11 12:23:44 5236

原创 Android Ethernet从上至下解析

最近遇到不少框架问题,比如关于网口的,开机后拔掉有线网,状态栏和设置项中有线网显示图标不会更新,还有双网口的需求,下面就带着这个问题,以跟踪网络状态问题为引线,本篇将贯穿分析Ethernet从上至下的框架结构。因能力和时间有限,文中有分析不到位的地方,十分欢迎大侠们拍砖。首先看下应用层网络监听相关的app网络监听一:设置packages/apps/Settings/src/com...

2015-08-27 23:06:00 10011 4

转载 Android学习 StateMachine与State模式

目录(?)[-]转自:http://www.cnblogs.com/bastard/archive/2012/06/05/2536258.html      Android学习 StateMachine与State模式一 State模式意图:  允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。(Objects for States)...

2015-06-14 14:52:03 1703

转载 camera摄像原理之四:曝光和GAMMA

从最明亮到最黑暗,假设人眼能够看到一定的范围,那么胶片(或CCD 等电子感光器件)所能表现的远比人眼看到的范围小的多,而这个有限的范围就是感光宽容度。      人眼的感光宽容度比胶片要高很多,而胶片的感光宽容度要比数码相机的ccd高出很多!对于sensor来说,又是如何来判断曝光是否正确呢?很标准的做法就是在YUV空间计算当前图像的Y值的均值。调节各种曝光参数设定(自动或手动),使得该均

2015-05-21 09:58:26 2022

转载 camera摄像原理之三:色温和自动白平衡

色温的定义:将黑体从绝对零度开始加温,温度每升高一度称为1开氏度(用字母K表示),当温度升高到一定程度时候,黑体便辐射出可见光,其光谱成份以及给人的感觉也会着温度的不断升高发生相应变化。于是,就把黑体辐射一定色光的温度定为发射相同色光光源的色温。                         随着色温的升高,光源的颜色由暖色向冷色过渡,光源中的能量分布也由红光端向蓝光端偏移。值得

2015-05-21 09:57:09 2252

转载 camera摄像原理之二:色彩空间

对于sensor 来说,我们经常接触到的色彩空间的概念,主要是RGB , YUV这两种(实际上,这两种体系包含了许多种不同的颜色表达方式和模型,如sRGB, Adobe RGB, YUV422, YUV420 …),RGB如前所述就是按三基色加光系统的原理来描述颜色,而YUV则是按照亮度,色差的原理来描述颜色。     不比其它颜色空间的转换有一个标准的转换公式,因为YUV在很大程度上是与

2015-05-21 09:54:44 1503

转载 camera摄像原理之一:光感应

做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对基本的光学原理及 sensor 软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起到事半功倍的效果。      人眼对色彩的识别,是基于人眼对光谱存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知。一般来说,我们可以通俗的用RG

2015-05-21 09:54:05 1563

转载 Camera 图像处理原理分析- 亮度及曝光控制

作者:刘旭晖 [email protected] 转载请注明出处http://blog.csdn.net/colorant/1.1        亮度感应及曝光1.1.1          感光宽容度从最明亮到最黑暗,假设人眼能够看到一定的范围,那么胶片(或CCD等电子感光器件)所能表现的远比人眼看到的范围小的多,而这个有限的范围就是感光宽容度。人眼的感光宽容度比胶片要高很多

2015-04-23 20:26:54 3017

转载 Camera 图像处理原理分析- 抗噪 变焦 频闪 等

作者:刘旭晖 [email protected] 转载请注明出处http://blog.csdn.net/colorant/ 1.1        抗噪处理AG 的增大,不可避免的带来噪点的增多,此外,如果光线较暗,曝光时间过长,也会增加噪点的数目(从数码相机上看,主要是因为长时间曝光,感光元件温度升高,电流噪声造成感光元件噪点的增多),而感光元件本身的缺陷也是噪点甚至坏点的来源之一。因

2015-04-23 20:22:53 1789

转载 Camera 图像处理原理分析- 色彩篇 三

作者:刘旭晖 [email protected] 转载请注明出处http://blog.csdn.net/colorant/     颜色相关特效处理1.1        grayscale (灰阶)灰阶图的效果就是将彩色图片转换为黑白图片。1.2        理论理论上,在YUV空间,将UV分量丢弃,只保留Y分量,这样就可以得到黑白图像,这也是彩色电式机信号能兼容黑白电视

2015-04-23 20:22:07 1632

转载 Camera 图像处理原理分析- 色彩篇 二

作者:刘旭晖 [email protected] 转载请注明出处http://blog.csdn.net/colorant/ 1.1        白平衡1.1.1          色温色温的定义:将黑体从绝对零度开始加温,温度每升高一度称为1开氏度(用字母K来表示),当温度升高到一定程度时候,黑体便辐射出可见光,其光谱成份以及给人的感觉也会着温度的不断升高发生相应的变

2015-04-23 20:19:54 1538

转载 Camera 图像处理原理分析- 色彩篇 一

作者:刘旭晖 [email protected] 转载请注明出处http://blog.csdn.net/colorant/1         前言做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起到事半功倍的效果。否则,缺乏了理论的指导,只能是凭感

2015-04-23 19:30:48 1753 1

转载 Android sendevent/getevent 用法

getevent/sendevent源码这两个命令的源码在system/core/toolbox/下,sendevent.c getevent.cgetevent使用getevent获得/dev/input/eventX设备汇报的事件,这个命令还会输出所有event设备的基本信息,如下:add device 1: /dev/input/event1  name:

2015-04-03 14:04:47 1307

原创 Android Camera TakePicture过程分析

Camera子系统采用C/S架构,客户端和服务端在两个不同的进程当中,它们使用android中的binder机制进行通信,本系列文章将从Android Camera应用程序到硬件抽象的实现一步一步对照相机系统进行分析,首先从CameraService初始化过程着手,然后从上层APP打开照相机->进行preview->拍照以及聚焦等功能的实现全面的学习照相机子系统1、CameraServ

2014-11-22 10:58:44 4047

原创 关于android中使用weight属性实现多个layou比例布局的计算方法

关于使用layout的weight比重进行线性布局的解释

2014-11-07 17:18:36 2039

转载 V4L2框架分析学习

Author:CJOKContact:cjok.liao#gmail.comSinaWeibo:@廖野cjok1、概述Video4Linux2是Linux内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口。凡是内核中的子系统都有抽象底层硬件的差异,为上层提供统一的接口和提取出公共代码避免代码冗余等好处。就像公司的老板一般都不会直接找

2014-08-07 14:15:23 880

转载 (老罗)Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析

前面在介绍Android系统的开机画面时提到,Android设备的显示屏被抽象为一个帧缓冲区,而Android系统中的SurfaceFlinger服务就是通过向这个帧缓冲区写入内容来绘制应用程序的用户界面的。Android系统在硬件抽象层中提供了一个Gralloc模块,封装了对帧缓冲区的所有访问操作。本文将详细分析Gralloc模块的实现,为后续分析SurfaceFlinger服务的实现打下基础。

2014-08-03 16:48:59 1082

转载 TCP/IP传输层,你懂多少?

远程地址:http://java-mzd.iteye.com/blog/1007577,写的很好,建议到原创地址欣赏原文,此处仅作备份。 1. 传输层的主要功能是什么?2. 传输层如何区分不同应用程序的数据流?3. 传输层有哪些协议?4. 什么是UDP协议?5. 为什么有了UDP,还需要TCP?6. 什么是TCP协议?7. 怎么理解协议和程序?8. TC

2013-12-15 20:38:14 977

转载 Android网络编程实践之旅(二):基于Socket的网络通信

Socket(套接字)是一种通信机制,可以实现单机或跨网络进行通信,其创建需要明确的区分C(客户端)/S(服务器端),支持多个客户端连接到同一个服务器。有两种传输模式:1)、面向连接的传输:基于TCP协议,可靠性高,但效率低;2)、面向无连接的传输:基于UDP协议,可靠性低,但效率高;        Android中,直接采用Socket通信应该是我们遇到的最低级的网络运用。尽管已经作

2013-12-15 20:00:38 1032

转载 Android网络编程实践之旅(二):基于Socket的网络通信

Socket(套接字)是一种通信机制,可以实现单机或跨网络进行通信,其创建需要明确的区分C(客户端)/S(服务器端),支持多个客户端连接到同一个服务器。有两种传输模式:1)、面向连接的传输:基于TCP协议,可靠性高,但效率低;2)、面向无连接的传输:基于UDP协议,可靠性低,但效率高;        Android中,直接采用Socket通信应该是我们遇到的最低级的网络运用。尽管已经作

2013-12-15 19:58:10 1033

转载 Android dumpsys 命令解析

Android has an interesting command called dumpsys  to dump some system information. Even described on adb manual  I think that some points should be reinforced. In order to get the complete status j

2013-12-14 09:44:18 1060

转载 framework添加服务(实例)

前一篇讲了android添加服务的步骤,今天看到了一个实例,简单明了,相信有所帮助!1. 创建frameworks\base\services\jni\com_android_server_notifyservice.cpp static JNINativeMethod method_table[] = { /* name, signature,

2013-04-27 17:36:39 1370

转载 Android Remote Service

转自http://blog.csdn.net/u0fly/article/details/5907362,并补充了main.xml文件src    └── com        └── fly            ├── IRemoteService.aidl            ├── RemoteServiceActivity.java            └──

2013-03-21 09:21:27 1108

转载 Android wakelock机制

Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁.如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠.PowerManager.WakeLock有加锁和解锁两种状态,加锁的方式有两种,一种是永久的锁住,这样的锁除非显式的放开,是不会解锁

2013-03-07 19:34:07 1123

转载 dump_stack分析与应用

一、dump_stack(堆栈转储)作用:主要用于内核调试,打印内核堆栈段信息。二、使用前便已内核时:使用前,先在内核配置中把kernel debug选上: make menuconfig:kernel hacking-->kernel debug三、arch/x86/kernel/dumpstack.cvoid dump_stack(void){unsigned lo

2012-11-06 08:58:32 2022

原创 如何让系统充电时不休眠

现这个功能可以用kernel锁WAKE_LOCK_SUSPEND来实现,如同USB插上的时候上锁了一样dwc_otg_pcd.c       wake_lock_init(&pcd->wake_lock, WAKE_LOCK_SUSPEND,           "usb_pcd");上锁之后,kernel睡眠时wakelock.c的suspend函数会禁止系统睡眠。注意充电状态结

2012-06-08 16:53:13 3781 1

转载 android 自定义progressDialog实现

我们在项目中经常会遇到这样一个应用场景:执行某个耗时操作时,为了安抚用户等待的烦躁心情我们一般会使用进度条之类的空间,在android中让大家最容易想到的就是progressbar或者progressDialog,区别在于前者是一个控件,后者是对话框。由于一些需求在弹出进度条时不希望用户能够操作其他控件,所以只能使用progressDialog,这个时候有遇到了一个问题,我不想要progressD

2012-06-01 01:31:54 6245 2

转载 Android的framework层音量控制原理分析--hot(key)处理 .

Android.media.AudioManager中包含了对android.media.AudioService的跨进程AIDL调用封装。正常处理过程:1.调整音量是通过AudioManager间接调用AudioService.adjustStreamVolume方法来完成逻辑处理;2.AudioService调用VolumePanel画出音量调整界面,并发送音量变动广播消息,3

2012-05-25 01:19:02 1343

原创 Android增加SNTP网络时间同步功能

因为android的网络时间同步只支持NITZ协议 可能是国外的运营商这些都是肯定有的 所以在中国这个网络时间同步就显得很不足 因为国内很多基站都不支持NITZ 我们如果要让这个网络时间同步功能能够和他的名字对等 就得加上补救措施 用SNTP来补充做时间校对。1.监听网络是不是连接上了packages/apps/Settings/AndroidManifest.xml

2012-03-27 22:55:00 7179

转载 android手机时间自动同步

在Android2.3.4系统中,Settings->Date & time->Automatic项打上后,时间会通过网络进行同步,而Android默认使用的是NITZ来获取移动网络时间,需要有移动网络服务商的支持才能使用,而有些Android产品只支持WIFI等无线网络,而不支持移动网络,此时就需要采用SNTP方式来获取网络时间进行同步了,相应需要修改到的文件为frameworks/base/t

2012-03-22 08:58:18 3095 1

转载 鼠标点击事件按钮和触电坐标

xml,什么的布局文件基本没有只有java文件中的代码如下:package com.button;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;import android.view.MotionEvent;import android.view.View;

2012-03-03 22:33:28 1563

转载 Android Launcher全面剖析

原创地址http://blog.csdn.net/andy_android/article/details/6966073感谢原创                                                 Android  Launcher全面剖析            首先来说说我为什么写这篇文章,最近公司要我负责搞Launcher,网上一查这方面的资料比较少,

2012-03-03 22:23:51 2097 1

智能硬件 智能家居物联网控制通用通信协议

本文档详细介绍了物联网的方法和通信协议。物联网的方法指任一智能设备联网控制前要做的属性描述方法,以配合网络系统的接口层通信。通信协议详细描述了系统端与设备端的交互通信方式和各场景下的处理方式。 本协议已在智能灯产品中实际应用,并且协议是以所有设备进行物联网为设计思想,所以协议具有强大的设备属性描述能力和可扩展性。

2016-03-24

\armsys2410 linux用户手册

\armsys2410 linux用户手册 详细介绍了2410下的linux系统开发

2010-05-25

armsys2410-b用户手册

armsys2410-b用户手册,详细介绍了2410裸奔、linux、wince系统下的开发

2010-05-25

S3C2440详细资料

S3C2440资料,分15各部分、一个英文资料

2010-03-11

空空如也

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

TA关注的人

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