自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 Android性能模式 第三季

转自http://hukai.me/android-performance-patterns-season-31. Fun with ArrayMaps程序内存的管理是否合理高效对应用的性能有着很大的影响,有的时候对容器的使用不当也会导致内存管理效率低下。Android为移动操作系统特意编写了一些更加高效的容器,例如SparseArray,今天要介绍的是一个新的容器,叫做ArrayMap。我们经常会

2017-07-12 15:00:56 548

转载 Android性能模式 第二季

转自http://hukai.me/android-performance-patterns-season-2/1. Battery Drain and Networking对于手机程序,网络操作相对来说是比较耗电的行为。优化网络操作能够显著节约电量的消耗。在性能优化第1季里面有提到过,手机硬件的各个模块的耗电量是不一样的,其中移动蜂窝模块对电量消耗是比较大的,另外蜂窝模块在不同工作强度下,对电量的

2017-07-07 12:50:18 679

转载 Android性能模式 第一季

Google从2015年起陆续在YouTobe上发布了Android性能优化的小视频,目前已经更新到了第6季,这些小视频也被转发到了优酷上,在优酷的播单上搜索“Android 性能模式”就能找到,而且还有中文字幕,值得一看,另外还有热心的网友把视频中将的以文字的格式记录了下来,这篇文章就是转自这个热心的网友的。转自Render Performance大多数用户感知到的卡顿等性能问题的最主要根源都是因

2017-07-05 12:54:31 885

原创 Android Crash处理流程分析

Android的crash主要有3种,java层的force close,native层的crash和ANR。检查这三种crash的log方法也不相同:分别搜索“FATAL EXCEPTION”, “fault addr”和”ANR”。这三种crash的处理流程有不同,也有很多共性,但不管哪种crash,都先要导致了解下App的启动流程。App的启动流程App启动时,如果不和其他应用shareUse

2017-05-17 11:14:34 4163

原创 Android log常用分析方法

logcatevent log这种log framework层常常使用,通过类似EventLog.writeEvent()写log,这种log被保存在/system/etc/event-log-tags,如果要看这种log,通过类似logcat -b events -v threadtime这种方式打印出来,输出的格式类似于下面:02-18 12:29:22.625 451 467 I am

2017-02-18 18:06:12 3309

原创 Java常用的库

Java常用的库连接: https://github.com/akullpp/awesome-java

2017-02-08 10:41:52 282

原创 Java层的ServiceManager和Native层的ServiceManager的对应过程

几天前一个同事问Java层的Binder和Java层的ServiceManager和C++层的ServiceManager是如何对应起来的,竟然一时语噻,一段时间不关注就会感到陌生啊,现在再总结一下,只写Java层的,C++层的不写,C++ Binder的知识需掌握,java和native的基本概念及对应关系不讲。Java层Binder的初始化过程Binder最终是要和它的驱动打交道,Java层要调

2017-01-12 15:22:38 5854 3

转载 ADB 用法大全

转自基本用法 命令语法为命令指定目标设备启动/停止查看 adb 版本以 root 权限运行 adbd指定 adb server 的网络端口设备连接管理 查询已连接设备/模拟器USB 连接无线连接(需要借助 USB 线)无线连接(无需借助 USB 线)应用管理 查看应用列表 所有应用系统应用第三方应用包名包含某字符串的应用安装 APK卸载应用清除应用数据与缓存

2017-01-09 12:34:21 807

原创 Java注解

Java最难的部分不是语言本身,而是其过多的库和各种框架,而现在各种框架中,基本上是无“注解“不欢,注解已成为必须非常熟练掌握的一部分了。Java 1.8进一步增加了注解的一些新特性。什么是注解 Annotations, a form of metadata, provide data about a program that is not part of the program it

2017-01-07 16:14:28 412

原创 Android架构收藏

不错的架构合集https://github.com/CameloeAnthony/AndroidArchitectureCollection

2016-12-16 22:49:45 211

原创 在framework.jar和services.jar中增加新类

增加新类到framework.jar中如果是在原有的路径下增加新的类,没啥说的,直接增加就行,除了需要将aidl文件增加到framework/base下的Android.mk外,其它啥都不需要改。这里说的是新建一个自己的功能文件夹,如我创建了在framework/base下创建了一个redex,一般情况下我还会在这个文件夹下创建一个java文件夹,这样写的java文件会放在这个文件夹,如果还有nat

2016-12-06 12:45:26 3270

原创 查看UID的方法

通过程序获得通过PackageManager,得到相应包名的ApplicationInfo,ApplicationInfo 中有个值域就是uid:try { PackageManager pm = getPackageManager(); ApplicationInfo ai = pm.getApplicationInfo("com.speedsoftware.rootexplore

2016-12-01 15:29:53 34394 1

翻译 屏幕输入法

原文地址从Android 1.5开始,Android平台提供了一个输入法框架(IMF),允许创建屏幕上的输入方法,如软件键盘。本文概述了Android输入法编辑器(IME)是什么,以及应用程序需要做什么才能与它们协同工作。 IMF旨在支持新类Android设备(例如没有硬件键盘的设备),应用程序与IMF一起使用并为用户提供了极好的体验非常重要。什么是输入法?Android IMF旨在支持各种各样的I

2016-11-30 18:37:20 1091

翻译 创建输入法指南

官方文档地址输入法编辑器(IME)是能够让用户输入文字的一个空间,Android提供了一个可扩展的输入法框架,它允许应用程序为用户提供可选的输入法,如基于触屏的键盘输入法或基于语音的输入法。安装自己喜欢的输入法后,用户就可以在系统设置中选择一个输入法,并在以后的各种场景中使用此输入法;一次只能选择一个输入法。如果要为Android系统增加一款IME, 需要创建一个Android应用,该应用中包含了一

2016-11-30 16:00:46 684

原创 InputManagerService按键接收过程

InputManagerService的创建过程由SystemServer启动并将其注册到系统服务中。frameworks/base/services/java/com/android/server/SystemServer.java /** * Starts a miscellaneous grab bag of stuff that has yet to be refactore

2016-11-16 17:48:46 580

原创 React Native开发环境搭建

React Native的开发环境搭建,官网有详细的说明,但基于中国的特殊国情,不是太适合我们。安装一些依赖的工具安装Node去官网下载Node的安装文件并安装,安装完成后在终端中运行“node -v”以检查是否成功安装。 安装PythonPython现在有python2和python3,官网推荐使用python2,还是按要求安装吧。React Native命令行工具正常的安装 Node集成了

2016-11-07 14:22:44 502

翻译 位置和地图

Android官方文档链接地址 注意:本篇是Android framework中android.location包的API指南。Google Location Service API,是Google Play service的一部分,它提供了更强大的,能够自动化工作(像定位provider旋转,电源管理)的高层框架。Location service也提供了其它一些功能,如在framewor

2016-10-03 16:30:42 294

翻译 环境传感器

官方文档链接Android平台提供了4个传感器以方便检测各种环境的参数,通过使用这些传感器,能感知到Android设备周围的相对湿度、光照强度、周围压力和周围的温度。所有这4个环境传感器全都是基于硬件的,只有当设备厂商内置了它们才可以使用。大多数设备厂商使用光线传感器控制屏幕的亮度,除了这个传感器外,其他环境传感器很少在设备中使用。因此,在从环境传感器中获取数据前,需要动态地检查环境传感器是否存在,

2016-09-28 12:44:23 689

翻译 位置传感器

官方文档Android平台提供了两个感知设备位置的传感器:地磁场和方位传感器。Android平台也提供了感知物体多么近接近设备面的传感器(被广为所知的近距离传感器)。地磁场和近距离传感器是基于硬件的传感器,大多数手机和平板厂商都内置了地磁感传感器。同样地,手机常常通常也内置近距离传感器以便感知用户是否将设备贴近到用户的脸上(例如,在通话过程中)。方向传感器是基于软件的,它的数据来源于加速度传感器和地

2016-09-26 11:49:59 2884

翻译 位移传感器

Android官方文档Android平台提供了一些传感器让你能监测设备的移动。它们中的两个传感器总是基于硬件的(加速度和陀螺仪),另外的这类这些传感器中的3个即能使用基于硬件的也能使用基于软件的(重力,线性加速度和旋转矢量传感器)。例如,一些设备从基于原件的传感器中获取加速度和磁强的数据,但另外一些设备也用陀螺仪获取这些数据。大多数Android设备都有加速度传感器,很多设备现在也包含陀螺仪传感器。

2016-09-24 17:03:05 3407

原创 访问Samba的配置

记性不好,然后上网搜时,一堆乱七八糟的东西,实际上根本没有那么复杂,这里做个笔记,以便方便以后使用。修改/etc/samba/smb.conf,在最后追加类似这样的文字:[mytest] comment = mytest's directory path = /home/mytestvalid users = mytestpublic = no writable = yes brow

2016-09-23 10:38:53 342

原创 Host 地址

很好用的host地址连接

2016-09-18 10:58:41 435

原创 下载Android 7代码

十分感谢清华大学做的镜像AOSP推荐的方法 安装 Repo确信在/home目录下有bin/目录,并且添加到环境变量中$ mkdir ~/bin$ PATH=~/bin:$PATH下载Repo工具,并赋予可执行 权限:$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo$ chmod a+x ~

2016-09-14 11:00:42 436

翻译 Android 传感器概述

Android官方文档大多数Android设备都内置有测量运动,方向和各种环境情况的传感器,这些传感器能够提供多种高精度的原始数据。如果你想监控三维的设备运动或位置,或者是监控周围环境的变化,这些数据都是非常有用的。举个例子,我们玩一款游戏,它可能需要读取中立传感器的数据,以便去推断我们复杂的姿势和动作,像倾斜,振动,旋转或者振幅等情况。同样地,一款天气应用程序,可能需要用到设备的温度和湿度传感器,

2016-09-13 12:13:17 4865

原创 Android Audio系统分析1(获得最小buffer部分)

网上有很多Android Audio的分析文章,但大部分都是基于比较老的源码,如Android 2.3, 4.0等,但现在Android都发展到6.0了,好多代码都已经面目全非了。 最近公司正好在做一个项目,涉及到Audio方面,正好将自己的学习工程记录下来,以便以后复习总结使用。 Android对外开放的播放音频文件的API主要有MediaPlayer, SoundPool,RingtoneM

2016-03-19 14:13:19 2750

原创 Android 5.1 Audio HAL分析

初始化工程 1) AudioPlicyService被第一次实例化后,将会调用onFirstRef,其中实例化了两个全局变量,一个是mAudioPolicyClient,一个是mAudioPolicyManager。 2) mAudioPolicyClient是AudioPolicyClient类型的,具体实现在AudioPolicyClientImpl.cpp,该类中保存了AudioP

2016-03-19 12:19:03 9885

空空如也

空空如也

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

TA关注的人

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