自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

c_z_w的博客

hello world

  • 博客(30)
  • 资源 (3)
  • 收藏
  • 关注

原创 AIDL与Binder的区别

AIDL与Binder的区别 Binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的。它是对IBinder类的实现,其中IBinder类提供了这样一个类的标准的本地化实现方式。大多数开发者不会去直接实现Binder类,而是用AIDL工具来描述他们自己想要的接口,借助它来生成一个合适的Binder之类。AIDL(Android Inte...

2019-01-23 15:23:00 1829

转载 ION 概述

原文转载自http://blog.csdn.net/g_salamander/article/details/8424334增加了Gralloc模块的平台背景和功能概述部分。对原文针对msm8960 Android display做了修正。增加了Surfaceflinger初始化FrameBufferNativeWindo...

2019-01-23 14:36:31 549

转载 Android Thermal

转自: blog.csdn.net/shichaog/article/details/60959260 包括两个部分kernel thermal monitor(KTM)和thermal engine。Thermal 管理包括的内容如下:硅片结温内存温度限制外表面温度限制当thermal engine完全初始化后,KTM确保所...

2019-01-22 09:51:02 1027

转载 android 如何手动去设置CPU核数,关闭thermal验证performance问题

因CPU或者DVFS设置不同,或Thermal过高而导致性能下降,如何通过adb命令进行设置[SOLUTION]对于是否由于CPU或者DVFS不同引起的问题,可以通过下面的命令验证: 首先取得root权限: 请参考FAQ11862 user版本如何打开root权限 手动设定CPU core数量: setup:(务必先下setup部分,才能下定频定核相关命令) 不...

2019-01-21 17:13:48 1641

转载 Android性能优化第(三)篇---MAT比Menmery Monitor更强大

在Android性能优化第(一)篇---基本概念中讲了JAVA的四大引用,讲了一下GCRoot,第二篇Memory Monitor检测内存泄露仅仅说了Menmery Monitor的使用,这篇博客谈一下MAT来寻找内存泄露,相对来说,Memory Monitor没有MAT强大,但是在开始介绍MAT之前,上两篇没有说清楚的问题先说一下。GC回收对可回收对象的判定什么样的对象是可以被回收的?...

2019-01-21 15:59:07 479

转载 GPU的介绍 以及原理的分析

1 GPU是什么      如图1所示,这台PC机与普通PC机不同的是这里插了7张显卡,左下角是显卡,在中间的就是GPU芯片。显卡的处理器称为图形处理器(GPU),它是显卡的“心脏”,与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的。  ...

2019-01-19 18:49:09 416

转载 Android图形显示系统(一)

简介本文讲解的内容是Android4.1以后的系统机制,将从整体上分析Android图形显示系统的结构,不深入分析每一层内部的代码实现,更多的是使用流程图和结构图来让大家理解Android是如何绘制、合成图形并显示到屏幕上。本文将从三个层次进行讲解,大致如下图:大体流程可以理解为上层生产,下层消费模型。其中每一层之间的数据传递是使用Buffer(图形缓冲区)作为载体:...

2019-01-19 17:54:03 602

转载 Android性能优化之渲染篇

总结Android渲染部分的工作原理,其中参考了如下网址:http://www.androidpolice.com/2012/07/12/getting-to-know-android-4-1-part-3-project-butter-how-it-works-and-what-it-added/http://blog.csdn.net/michaelcao1980/article/deta...

2019-01-19 13:25:29 712

转载 Binder机制学习---Binder框架

Android系统中Binder机制的大体框架如下图所示:client:客户端进程server: 服务端进程ServiceManager:一个特殊的server,用来注册、管理其他的server/dev/binder:binder设备,进程间的通信就是通过该设备实现的其中client、server和ServiceManager在用户空间,binder设备文件和binder驱动在内核...

2019-01-19 13:05:24 295

转载 Android Service学习之AIDL, Parcelable和远程服务

AIDL的作用    由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。  ...

2019-01-18 16:15:20 314

转载 Android4.4深入浅出之SurfaceFlinger与Client通信框架(一)

               SurfaceFlinger框架是基于Binder进程间通信机制搭建的,SF作为一个服务进程,用户程序想要跟它通信必然要经过Binder机制。首先说一下,用户要跟SF通信,那么SF必须出现在ServiceMan

2019-01-18 14:05:59 243

转载 Android 渲染优化

目标:保证稳定的帧率来避免卡顿调试GPU过度绘制,将Overdraw降低到合理范围内;减少嵌套层次及控件个数,保持view的树形结构尽量扁平(使用Hierarchy Viewer可以方便的查看),同时移除所有不需要渲染的view;使用GPU配置渲染工具,定位出问题发生在具体哪个步骤,使用TraceView精准定位代码;使用标签,Merge减少嵌套层次、ViewStub延迟初始化。在不影...

2019-01-18 10:32:12 529

转载 glFlush和glFinish以及SwapBuffer的用法

OpenGL 绘图的机制是: 先用 OpenGL 的绘图上下文 Rendering Context (简称为 RC)把图画好,再把所绘结果通过 SwapBuffer() 函数传给 Window 的 绘图上下文 Device Context (简记为DC).要注意的是,程序运行过程中,可以有多个 DC,但只能有一个RC。因此当一个 DC 画完图后,要立即释放 RC,以便其它的DC 也使用。&nb...

2019-01-18 09:53:56 1384

转载 Android中的GraphicBuffer同步机制-Fence

Fence是一种同步机制,在Android里主要用于图形系统中GraphicBuffer的同步。那它和已有同步机制相比有什么特点呢?它主要被用来处理跨硬件的情况,尤其是CPU,GPU和HWC之间的同步,另外它还可以用于多个时间点之间的同步。GPU编程和纯CPU编程一个很大的不同是它是异步的,也就是说当我们调用GL command返回时这条命令并不一定完成了,只是把这个命令放在本地的command ...

2019-01-17 19:41:02 318

转载 GUI显示系统之SurfaceFlinger

第1章  GUI系统之SurfaceFlinger在进入GUI系统的学习前,建议大家可以先阅读本书应用篇中的“OpenGLES”章节,并参阅OpenGL ES官方指南。因为Android的GUI系统是基于OpenGL/EGL来实现的,如果没有一定基础的话,分析源码时有可能会“事倍功半”。1.1 OpenGLES与EGLSurfaceFlinger虽然是GUI的核心,但相对于Open...

2019-01-17 17:52:00 1064 1

转载 一篇文章看明白 Android 图形系统 Surface 与 SurfaceFlinger 之间的关系

相关系列一篇文章看明白 Android 系统启动时都干了什么一篇文章了解相见恨晚的 Android Binder 进程间通讯机制一篇文章看明白 Android 从点击应用图标到界面显示的过程一篇文章看明白 Activity 与 Window 与 View 之间的关系一篇文章看明白 Android 图形系统 Surface 与 SurfaceFlinger 之间的关系一篇文章看明白 A...

2019-01-17 17:13:40 997 1

转载 Android硬件加速(二)-RenderThread与OpenGL GPU渲染

Android硬件加速(二)-RenderThread与OpenGL GPU渲染Android4.0之后,系统默认开启硬件加速来渲染视图,之前,理解Android硬件加速的小白文简单的讲述了硬件加速的简单模型,不过主要针对前半阶段,并没怎么说是如何使用OpenGL、GPU处理数据的,OpenGL主要处理的任务有Surface的composition及图形图像的渲染,本篇文章简单说一下后半部分的模型...

2019-01-17 17:08:37 2861

转载 Android APP性能优化(最新总结)

导语安卓大军浩浩荡荡,发展已近十个年头,技术优化日异月新,如今Android 8.0 Oreo 都发布了,Android系统性能已经非常流畅了。但是,到了各大厂商手里,改源码自定系统,使得Android原生系统变得鱼龙混杂,然后到了不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。另外,随着产品内容迭代,功能越来越复杂,U...

2019-01-17 11:18:57 510

原创 查看触摸屏报点率

查看触摸屏报点率getevent -r |grep “eventx”相应代码在 system/core/toolbox/getevent.c usage:static void usage(int argc, char *argv[]){ fprintf(stderr, "U...

2019-01-17 11:00:54 4640

转载 Android卡顿分析中常见的log

1 看内存 bugreport 开始的时候有pss的信息 并且进行排序 , 之后会写一个解析和计算的2 找system log中关键部分一般设备hang 住的时候用户会疯狂按keycode ,可以找相关log 3keyCode:3 down:true eventTime:831405 下面...

2019-01-14 14:42:46 3515

转载 修改cpu控制文件init.qcom.post_boot.改调节器

手机需要root,re或es管理器打开system/etc找到文件init.qcom.post_boot.sh,以文本方式打开,找到这一句case “$target” in "msm8992,这个就是808的cpu控制文本,还有好多比如810的cpu控制文本,对小米4C没有用,小米4c的是8992,不知道小米在这个文件里放这么多其他cpu的文本干什么,难道是小米是一起适配的。下面是小米4c支持...

2019-01-10 10:06:33 3223

转载 TRIM:提升磁盘性能,缓解Android卡顿

在这篇文章中:故事起因逐步分析Step 0:磁盘与系统流畅度的关系Step 1:弄清 Android 磁盘的读写机制Step 2:解决“写入放大”问题的技术——TRIMStep 3:TRIM 在 Android 中的实现Step 4:分析闪存碎片及 TRIM 对磁盘 I/O 性能的影响Step 5:FSTRIM 系统自动触发测试总结&思考:在业内,Android 手机一直有着“越用越慢”的...

2019-01-09 10:28:41 7587

转载 Linux文件系统的barrier:启用还是禁用

大多数当前流行的Linux文件系统,包括EXT3和EXT4,都将文件系统barrier作为一个增强的安全特性。它保护数据不被写入日记。但 是,在许多情况下,我们并不清楚这些barrier是否有用。本文就为什么要在你的Linux系统上启用barrier做出了解释。Linux日志和barrier功能要理解barrier,你首先需要理解文件系统日志功能。常用的文件系统使用日志功能来保证文件系统...

2019-01-08 14:35:58 1393

转载 mount ,mkfs 工具详细说明(ext4,xfs)

ext4:mount -o      options device directory          Option:Description   &

2019-01-08 13:47:12 4444

转载 内存泄漏与排查流程——安卓性能优化

内存泄漏可以说是安卓开发中常遇到的问题,追溯和排查其问题根源是进阶的程序猿必须具备的一项技能。小盆友今天便与大家分享一下这方面的一些见解,如有理解错误或是不同见解,可以于评论区留言我们进行讨论,如果喜欢给个赞鼓励下吧。篇幅较长,可以通过目录寻找自己所需了解的吧目录1、JAVA内存解析2、JAVA回收机制3、四种引用4、小结5、安卓内存泄漏排查工具6、内存泄漏检查与解决流程7、...

2019-01-06 11:54:08 806

转载 关于adb shell procrank提示procrank: not found的问题解决

前提条件: 1.手机已root,能够获取得到读写手机system目录权限; 2.下载procrank文件,下载链接:https://pan.baidu.com/s/1gfIcA7D,密码:r2fu;操作步骤: 1.先把libpagemap.so、procmem、procrank三个文件push到手机sdcard中; 2.然后执行adb shell和cd sdcard进入手机目录,并输...

2019-01-06 11:06:11 947

转载 Android JVM, JRE, JDK, SDK之间的关系

1. JVM (java virtual machine) 即java虚拟机,java能够实现跨平台的主要原因主要就是因为有java虚拟机,所有程序都要先被编译成能够在JVM上面运行的.class类文件。所以java程序并不需要直接在操作系统上运行。是由虚拟机将程序解释给本地系统运行。2. JRE (java runtime env...

2019-01-06 10:07:38 560

转载 从Android代码中来记忆23种设计模式

        相信大家都曾经下定决心把23种设计模式牢记于心,每次看完之后过一段时间又忘记了~,又得回去看,脑子里唯一依稀记得的是少数设计模式的大致的定义。其实,网上很多文章讲得都非常好,我也曾经去看过各种文章。也曾一直苦恼这些难以永久记下的设计模式,直到我接触到了《Android源码设计模式解

2019-01-03 17:23:41 328

转载 Android 性能优化:使用 TraceView 找到卡顿的元凶

前言TraceView 是什么生成 trace 文件使用代码生成 trace 文件使用 Android Studio 生成 trace 文件使用 DDMS 生成 trace 文件根据 TraceView 显示内容定位问题解决 DDMS 中的 TraceView 无法搜索find 无法使用的问题解决办法就是直接使用 SDK 中的 TraceView TraceView...

2019-01-03 16:37:16 1170

转载 Android性能分析工具Systrace和TraceView的使用

1.Systrace的介绍     Systrace是Android4.1中新增的性能数据采样和分析工具。它可帮助开发者收集Android关键子系统(如Surfaceflinger、WindowManagerService等Framework部分关键模块、服务)的运行信息...

2019-01-03 16:13:39 888

图像处理与指纹识别

图像处理和指纹识别的相关文档的说明 硕士论文

2015-07-27

matlab函数速查手册

第1 章 MATLAB 操作基础 第2 章 矩阵及其基本运算 第3 章 数值计算函数 第4 章 符号运算函数 第5 章 概率统计 第6 章 绘图与图形处理 第7 章 MATLAB 程序设计 第8 章 Simulink 命令

2015-07-27

指纹识别算法的研究

指纹识别 和mailab的程序教程,叫你怎么使用matlab

2015-07-27

空空如也

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

TA关注的人

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