自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap-SparseArray

用SparseArray代替HashMapSparseArray是Android框架特有的,在jdk中是没有的。二者的作用是类似的。既然二者的作用是类似的,那么Android为什么要做SparseArray来代替HashMap呢?这就说明,SpareArray相对于HashMap肯定有它的优势,它的特点。要么节省内存、要么速度快、要么应用灵活,总之SpareArray一定是有它的特点的。首先:Spa

2016-10-21 08:53:33 395

原创 ArrayList和LinkedList比较

ArrayList和LinkedList比较在使用List的时候,经常会出现使用ArrayList和LinkedList,但是到底什么时候使用ArrayList、什么时候使用LinkedList,在这里简单的说明一下。ArrayList原理ArrayList实际上对应着数据结构数组(Array)。ArrayList的数据存储结构是数组。数组的特点是:占用空间固定,但是当数据不多的时候,浪费空间;

2016-10-17 17:13:00 1119

原创 Android Handler : Handler为什么需要是static的 (二)

怎么解决由于Handler引起的Memory Leak既然知道了,Memory Leak的根本原因是Handler持有Context,导致Context无法释放。那么解决的办法就是断开Handler和Context之间的连接,让Handler不再持有Context的引用。大概的方法有:将隐性匿名类Handler变成static的内部类,由于static的内部类,使用的使用不需要外部类的实例,所以s

2016-09-20 09:40:11 2675

原创 Android Handler : Handler为什么需要是static的 (一)

Android Handler : Handler为什么需要是static的为什么Handler需要是static的先来看一下代码public class HandlerTestActivity extends Activity { private final Handler mHandler = new Handler() { @Override publi

2016-09-20 09:38:05 1816

原创 Android Service : Service注意的问题

Android Service : Service注意的问题AIDL传递自定义类型AIDL在传递实现Parcelable接口的对象的时候,是属于值传递的。原因是,AIDL在传递对象的时候,是通过在一端将数据写入Parcel,然后在另一端将Parcel中的数据读出,形成新的对象。所以从Parcel的机制上就决定了,AIDL传递对象是值传递。因此,通过AIDL传递的对象,在一端更改了对象的属性,在另一端

2016-09-12 13:37:14 1255

原创 Android Service:利用Binder通信中,传递自定义类型

Android Service:利用Binder通信中,传递自定义类型AIDL中支持的数据类型AIDL中支持的数据类型有: 支持类型 需要import 备注 Java基本类型 不需要import String, CharSequence, List, Map 不需要import List,Map内的元素必须是AIDL支持的类型;List接收方必须是ArrayLis

2016-09-09 16:09:32 3663

原创 Android Service :利用Binder实现通信

Android Service :利用Binder实现通信AIDL是什么AIDL是Android Interface Definition Language, 即Android接口定义语言。Android通过AIDL文件,把Service的接口公布出来,以便Client可以通过接口和Service进行通信如何利用Binder现实Service、Client通信之前打过比喻,Service好比是一个岛

2016-09-09 13:25:20 2408

原创 Android Service : Binder原理

Android Service : Binder什么是BinderBinder是Android的一种通信机制,用于Service和Client进行通信。Binder可以用来做什么Binder是可以用作Service和Client之间通信。无论Service和Client是否在同一个进程内,Binder都可以完成Service和Client之间的通信。因此Binder可以用作跨进程通信,也就是Andr

2016-09-08 14:58:52 547

原创 Drawable概述

Drawable

2016-05-25 17:15:52 295

原创 回来了

之前几年由于工作的比较忙,再加上个人也变得懒得,很久没有维护了。今天回来看了看,还有大家的评论,心里很是欣慰。从现在开始,我又回来了,以后我将陆续的更新这里。这几年由于个人工作主要集中在Android方面,所以更新的内容也以Android为主。

2016-05-13 17:29:36 328

原创 Android上Sensor移植的总结

    Sensor作为Android系统的一个输入设备,对Android设备来说是必不可少的。Sensor主要报告G-Sensor、LightsSensor、ProximitySensor、TemperatureSensor等。由于各个Sensor的移植大同小异。本文就主要对G-Sensor和LightSensor进行说明。Sensor的移植主要包括三部分的工作:Linux Kernel中相关设备的驱动开发、Android中HAL中相关库的开发以及Android中应用层中测试程序的开发。一、Linux K

2011-05-12 11:56:00 10849 5

原创 OProfile在Andorid上使用

OProfile作为一个Linux的工具,可以分析kernel和应用的性能。因此如何将OProfile应用于Android对于发现并解决Android的性能具有很重要的意义。本文以下将介绍如何在Android上应用OProfile。

2011-05-06 17:54:00 5079 3

原创 关于OProfile的一些总结

一、OProfile的简介      OProfile 是Linux系统下一个系统全局的性能监视工具。它使用处理器上的性能监视硬件来检索关于内核以及系统上的可执行文件的信息,例如内存是何时被引用的;L2 缓存请求数量;收到的硬件中断数量等。二、OProfile的用途     OProfile可以用于测试内核和应用。三、OProfile的使用          a. 初始化:opcontrol --init              该命令会加载oprofile.ko模块,mount oprofilefs。成

2011-05-06 17:44:00 2119

原创 关于NEON的一些总结

<br />一、NEON简介<br />      NEON是通用的SIMD(单指令多数据)引擎。通过NEON可以加速多媒体和信号的处理算法。NEON可以处理当前和未来的多媒体格式,从而改善用户体验。<br /> <br /> <br />二、NEON原理<br />       o    NEON 指令可执行“打包的 SIMD”处理: n       寄存器被视为同一数据类型的元素的矢量n       数据类型可以为:签名/未签名的 8 位、16 位、32 位、64 位单精度浮点n          原理

2011-03-25 18:00:00 5719 2

原创 TraceView总结

<br />一、TraceView简介<br />      TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析。<br />      TraceView是图形化的工具,最终它会产生一个图表,用于对性能分析进行说明。<br />      TraceView可以跟踪到具体的Method<br /> <br /> <br />二、TraceView的原理<br />      TraceView通过修改code,在需要调试的起始位

2011-03-25 17:32:00 20015 3

原创 GProfile的总结

一、GProfile简介      GProfile是gcc的一个工具,用于对应用程序的测试。      GProfile可以分析出函数的调用次数、函数的调用关系以及函数消耗的时间。二、GProfile原理      在编译和链接你的程序的时候,gcc 在你应用程序的每个函数中都加入了一个名为mcount ( or "_mcount" , or "__mcount" , 依赖于编译器或操作系统)的函数,也就是说你的应用程序里的每一个函数都会调用mcount, 而mcount 会在内存中保存一张函数调用图,并

2011-03-25 14:08:00 10873 1

原创 Android系统性能分析工具

<br />Android系统的性能优化,是一个很重要的课题。要优化系统性能,首先应该有一些对系统进行分析的的工具。在这里将介绍几个常用的工具。<br />随着后续的深入,会有新的工具加入。<br />工具:<br />    1、GProfile<br />         一款Linux下测试应用程序的性能的工具。它可以提供函数调用的关系、每个函数的执行时间以及每个函数调用的次数。<br /> <br />    2、OProfile<br />         一款可以测试Kernel、以及Andro

2011-03-22 17:44:00 4483 2

原创 初来乍到

早就有写blog的想法,无奈公司网络限制,一般的blog上不了。今天发现了这个好地方,拿下。在这里写些东西,一来为了自己以后看,这样总比写些文档什么的安全,方便。不过哪天这个的服务器挂了,我也就over了,呵呵。二来为了给大家分享一下自己所认识的东西,免得大家走弯路。我的想法就是把自己当砖头扔了。^_^!

2009-07-20 16:18:00 618

空空如也

空空如也

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

TA关注的人

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