- 博客(13)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 java synchronized
1、synchronized语句块锁的事显式的对象 2、实例方法锁的式当前实例 3、静态方法锁的是类加载器中的java.lang.class对象
2015-03-31 00:18:13 634
原创 Android Touch事件分发机制
在app开发过程中常常需要订制控件处理Touch事件。本文介绍Android应用层是分发Touch事件的机制。 整体来说Touch事件的分发遵从“V”字形结构
2014-01-15 17:59:34 544
转载 android设备信息获取
TelephonyManager实例的获取需要READ_PHONE_STATE权限。具体函数如下: getCellLocation() 返回的单元格位置的装置 ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION getDeviceId() 返回的IMEI / MEID的设备。 如果该设备是GSM设备然后IMEI号将被退回,如果该设备是一个CDMA设备
2014-01-13 15:04:38 563
原创 Android性能优化
一、布局优化 1 延迟布局或空间的加载时间。根据业务逻辑,需要时再加载空间或布局。 2 尽量减少布局嵌套的层次和子空间数量 3 ListView从Adapter中获取子View时,尽量将子View的子View缓存起来,总比重新加载快。 二、数据库操作 1 如果是批量的操作,请使用事务,不要为每一个操作执行一次事务。操作成功,则将事务setSuccessful();反之,不
2014-01-02 17:42:02 523
原创 Android内存优化
OOM是个令人头疼的问题,Android碎片化的低端设备或者是占用内存较高的应用都会面对这个的问题。实际编码中有哪些具体经验可以总结呢?我觉得有以下几点。 1、ListView的adapter的getView方法里回传的convertView没有重用,如果在这个convertView里有分配了内存(如图片等),需要在回传的时候进行回收。 2、注意Cursor使用方式,尽量只查询需要的字段,尽可
2014-01-02 14:54:07 462
原创 Android屏幕适配方法
请参考Android 系统版本、屏幕尺寸和OpenGL版本分布情况概述http://developer.android.com/about/dashboards/index.html。注意:此数据不包含中国大陆地区。 Android屏幕的碎片化是开发者比较头疼的问题之一,本文将简要说明几种适配不同尺寸屏幕的方法。 首先介绍Android的布局、像素和资源文件夹的一些概念。 A
2014-01-02 11:29:13 820
转载 Android中Parcelable和Serializable的区别
推荐阅读:http://www.developerphil.com/parcelable-vs-serializable/ android 中自定义的对象序列化的问题有两个选择一个是Parcelable,另外一个是Serializable。 文中的结论直接拿来了: If you want to be a good citizen, take the extra time to i
2013-12-12 13:50:08 507
原创 Java垃圾回收机制
Java垃圾回收对应的是堆内存的灵活分配,因为java不要求程序员手动释放申请的堆内存,而这部分大块内存的回收工作就有JVM自己来完成。 Java垃圾回收的工作方式: 一、“引用-计数”。这是一种速度很慢的垃圾回收技术。每个对象都有一个引用计数器,当有引用连接至对象时,计数加1;当引用离开作用域或置为null时,计数减1。在之后的垃圾回收器遍历对象列表时,回收计数为0的对象所占内存。这种方法有
2013-09-05 23:02:46 502
原创 Java命名规则
Java对大小写敏感,Name 和 name不是等同的。java的保留字有以下51个 数据类型: boolean int long short byte float double char class interface 流程控制: if else do while for switch case def
2013-09-04 23:45:15 699
原创 Java数据类型
Java是一门面向对象的高级语言,但也保留了基本数据类型和运算符这些面向过程的元素。如何平衡对象和简单数据类型之间的抉择,被认为是设计面向对象语言所面临的挑战。Java很出色的完成了这个挑战。 Java中有八种基本数据类型,见下表: 数值类型 byte short char int long float double boolean 长度(字
2013-09-04 23:10:01 591
原创 Java内存分配
程序运行时,有五个不同的地方可以存储数据,分别是:寄存器、堆栈、堆、常量存储、非RAM存储,以下逐个说明: 一)寄存器。这是最快的存储区,位于处理器内部。空间极小,不能被直接控制(C和C++ 可以向编译器建议寄存器的分配方式)。 二)堆栈。位于通用RAM中,速度仅次于寄存器,要求存储的数据需要有明确的生命周期。一般用来存储基本数据类型和对象的引用。 三)堆。位于RAM中,
2013-09-04 22:15:48 481
原创 常用正则表达式
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。网上搜集的: 1、匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 2、匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 3、匹配
2013-09-04 21:27:40 470
原创 详述Android Looper和Hander
使用Handler和Thread是Android进行线程间通信的主要方式。具体方式是,在异步线程中,使用handler发送Message到指定队列(handler.sendMessage(Message msg))。目标队列接收消息后,将消息添加到队列中,Looper轮询队列,依次对异步线程发送过来的Message进行处理,下面结合Android源码详述。 先看Handler的
2013-09-04 21:05:14 800
C++为什么要重载运算符?
2014-01-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人