`
1025250620
  • 浏览: 225651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
我们搞技术的有很多误区,比如经常陷入纯技术钻牛角尖的争辩,而全然不顾业务场景,技术活做太多,经验一箩筐,但是有时会疑惑,这些经验是否适合其他自己没有经历过的新系统呢?我们在技术设计路线上走得太久,容易迷失方向,什么是设计不足;什么是过度设计,如何把握这个度?    在对待项目上,有一种极端是认为每个项目都是特殊的,不可能和其他项目有共同之处;这算是一种经验主义吧。 甚至有些程序员唯大项目不做,认为只有大项目才能锻炼自己,做过大项目的认才是牛人。   这些误区都是因为我们软件基础知识的缺失,没有人告诉我们,大小不同项目是否有共同点? 我们现在做的项目需求是处于所有项目需求领域中何种位置?为满足 ...
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽。 并发 ...
    看到这个题目的时候,读者可能会诧异:代码也有节能与不节能之分?我们说,是的,本质上,程序所调度的是硬件资源,不合理的硬件调度,会使得设备调度效率不高,从而产生更高的能耗。 实际上,随着移动终端的流 ...

JBOX2D分析

近日在研究JBOX2D的游戏引擎,对于这个JBOX2D游戏本身的性能并不作为本文讨论的重点。本文纯属个人观点,非常希望能和一些志同道合的人探讨相同的问题。大家可以上网下JBOX2D的源代码~其实去看源代码~你会发现JBOX2D的源代码写的 ...
Android深入浅出之Binder机制 一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。 我们这里将以MediaService的例子来分析Binder的使用: l         ServiceManager,这是Android OS的整个服务的管理程序 l         MediaService,这个程序里边注册了提供媒体播放的服务程序MediaPlayerService,我们最后只分析这个 l         Me ...
1.for里面的长度不通过方法调用 2.算法的提高 3.使用适合的指令 4.减少函数调用 5.空间换时间 6.少用乘法或除法;将除法转成乘法 7.将最有可能的分支放到if里面 8.少用数组和指针,少用全局 9.内存对齐,和cache对齐 10.数据的访问要符合局部性原理 11.减少动态分配,提倡使用对象池
 声明:我是以2.0的代码为参考的,主要参考了BitmapFactory.java文件。   首先,在2.0应用中,res下有drawable-hdpi、drawable-mdpi、drawable-ldpi三个存放图片的文件夹,查资料看到如下描述:     这是分辨率的不同,H是高分辨率 M是中 L是低。     drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:     (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)     (2)drawable-mdpi里面存放中等分辨率的 ...
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图, 因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 source, decodeStream最大的秘密在于其直接调用JNI>>nativeDecodeAsset()来完成decode, 无需再使用java层的createBitmap,从而节省了ja ...
今天需要研究 WindowManagerService 如何把Event. 丢给当前的Activity. ViewRoot这个类在android的UI结构中扮演的是一个中间者的角色,连接的是PhoneWindow跟WindowManagerService.在每个PhoneWindow创建的时候,系统都会向WindowManger中的一个保存View数组增加PhoneWindow的DecorView对象,WindowManger在保存好这个View对象的同时,也会新创建一个ViewRoot对象用来沟通WindowManagerService。可以查看WindowManagerImpl跟 View ...
前几天在网上看见了一段代码,叫做“Duff's Device”,后经验证它曾出现在Bjarne的TC++PL里面: void send( int * to, int * from, int count)          //    Duff设施,有帮助的注释被有意删去了 {          int n = (count + 7 ) / 8 ;          switch (count % 8 ) {          case 0 :    do { * to ++ = * from ++ ;          case 7 :          * to ++ = * from ++ ...
Structural(结构模式) Adapter: 把一个接口或是类变成另外一种。     java.util.Arrays#asList()     javax.swing.JTable(TableModel)     java.io.InputStreamReader(InputStream)     java.io.OutputStreamWriter(OutputStream)     javax.xml.bind.annotation.adapters.XmlAdapter#marshal()     javax.xml.bind.annotation.adapters.XmlAda ...
看到百威啤酒的客户端主界面的按钮,感觉比较新奇,先看下图片: [img] http://images.cnblogs.com/cnblogs_com/kofi/201103/201103222037399381.png[/img] 注意图中我画的箭头,当时鼠标点击的黑色圈圈的位置,然后按钮出现了按下的效果(黄色的描边) 刚开始看到这种效果很是好奇,不知道是怎么实现的,后来仔细一想,应该是整个啤酒罐是一张图片(ImageView),该图片是布局在三个按钮之上,然后就是最关键的地方,把图片设置为不可获取焦点,也就是android:focusable="false" ,就这样简 ...
关于Activity生命周期的文章很多,而且大部分也说得很详细,所以作为关于这方面的内容我本来不想多说,但是大家可能跟我之前一样,在看这方面的内容的时候都能很容易地看懂,但是过几天又忘了,或者在用的程序中跳转较 ...
一、Source Insight实用技巧: Source Insight(下文的SI指的也是它)就是这样的一个东西:   Windows下开发人员的至爱,功能强大,界面友好。支持语法高亮、符号跳转,还支持函数调用关系图显示。这是一个专业的编程环境,很多大 ...
Android 2.1 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等基础开发包配置) |-- cts (Android兼容性测试套件标准) |-- dalvik (dalvik JAVA虚拟机) |-- development (应用程序开发相 ...
Global site tag (gtag.js) - Google Analytics