![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web
文章平均质量分 58
Yan-li
历史千百年多少英雄豪杰,人生百十载岂可虚度光阴。
展开
-
java synchronized
JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance变量、object reference(对象引用,例如this)、static函数和class literals(类名称字面常量)身上。下面讨论synchronized用到不同地方对代码产生的影响:假设P1、转载 2015-02-26 10:57:09 · 271 阅读 · 0 评论 -
Android调试工具--Traceview
作为优秀的android应用程序开发者,调试程序是一个重要技能。现看例子吧:Traceview是android平台配备的一个很好的性能分析工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。进行Traceview的版本限制对于Android 1.5及以下的版本:不支持。对于Android 1.5以上2.1下(含2.1)的版转载 2015-03-04 09:35:09 · 455 阅读 · 0 评论 -
android性能优化--overdraw优化
第一个例子:★ 预备知识在Android的开发过程中,drawing performance往往是我们最关注也是努力去优化的一个点。而造成drawing perfomance的元凶之一就是overdraw。那么1. 什么是overdraw?overdraw发生在应用每次请求在其它物体上绘制内容的时候。例如:一个白色背景的窗口,在它上面有一个按钮。当系统绘制按钮时,要绘制转载 2015-03-04 09:42:30 · 745 阅读 · 0 评论 -
如何在eclipse下查看android源码?
当你的android水平达到一定的程度是,想必就会开始对android源码感兴趣了。在编写或学习android程序的时候,经常要查看android源码,那么如何才能在eclipse中查看android的源代码呢?以下是几种简单的方法1、按住ctrl键,点击需查看的类。如果出现Source not found则点击change attached source选择源码所在地址.原创 2015-02-26 13:42:19 · 425 阅读 · 0 评论 -
onInterceptTouchEvent、onTouchEvent、onTouch的使用
先来一个简单易懂的例子:onInterceptTouchEvent:onInterceptTouchEvent是在ViewGroup里面定义的。Android中的layout布局类一般都是继承此类的。onInterceptTouchEvent是用于拦截手势事件的,每个手势事件都会先调用onInterceptTouchEvent。onTouchEvent:onTo转载 2015-02-26 17:13:00 · 509 阅读 · 0 评论 -
ant的配置与使用
1、如何获得ant先从http://ant.apache.org/下载Ant,解压到任一目录下面,比如E:\Lab然后设置环境变量ANT_HOME=E:\Lab\apache-ant-1.8.2path=E:\Lab\apache-ant-1.8.2\bin最后验证是否安装成功在dos中输入ant,如果显示Buildfile: build.x原创 2014-10-26 23:58:04 · 408 阅读 · 0 评论 -
android的sqlite存储注意事项
getWritableDatabase取得的实例不是仅仅具有写的功能,而是同时具有读和写的功能。同样的,getReadableDatabase取得的实例也是具对数据库进行读和写的功能。两者的区别在于getWritableDatabase取得的实例是以读写的方式打开数据库,如果打开的数据库磁盘满了,此时只能读不能写,此时调用了getWritableDatabase的实例,那么将会发生错误(异原创 2015-02-26 13:47:16 · 346 阅读 · 0 评论 -
android context引出的问题
接触过android的码农都知道context对象可谓是无所不在啊。那么,什么情况才可能创建context实例呢?有三个地方,第一就是创建Application对象(唯一)时、第二就是创建Activity对象时、第三就是创建Service对象时。 虽然以上三个地方创建出来的都是context实例,但是在某些情况下,它们就会有质的差别,稍有不慎就会导致著名的“内存泄漏”问题。在这里就简原创 2015-02-26 13:45:15 · 410 阅读 · 0 评论 -
解决讨厌的警告
由于android系统的版本过多,有很多修改。因此,有时我们有意无意中使用了高版本的api,而自己应用所允许运行的最低版本api并没有支持该接口时,尽管不会影响程序的使用,那讨厌的警告就会如期出现了。那么,如何屏蔽这种类型的“无用警告”呢?我们可以在使用高版本api的代码前添加上@SuppressLint("NewApi")即可。另,@SuppressLint("NewApi")原创 2015-02-26 13:43:42 · 389 阅读 · 0 评论 -
android framwork层得利用反射知识
当学习android达到一定阶段的时候,我们都会转向研究android的framwork层,以期待收获更多惊喜或获得对android更深刻的理解。只是就得好好利用反射的知识了。这里就简单介绍一下反射的简单例子,作抛砖引玉之用。通过反射来动态获取一个类的成员变量的值。private Object getFieldValue(Object obj, String fieldName) th原创 2015-02-26 13:46:11 · 414 阅读 · 0 评论 -
FutureTask 深度解析
先看下FutureTask的注释吧FutureTask一个可取消的异步计算,FutureTask 实现了Future的基本方法,提空 start cancel 操作,可以查询计算是否已经完成,并且可以获取计算的结果。结果只可以在计算完成之后获取,get方法会阻塞当计算没有完成的时候,一旦计算已经完成,那么计算就不能再次启动或是取消。一个FutureTask 可以用来转载 2015-04-02 19:02:03 · 355 阅读 · 0 评论