`
Teok
  • 浏览: 147770 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
Android 通过堆栈信息来跟踪证实android使用一种类似CORBA ORB的IPC机制(实际上是OpenBinder):Android - strace runtime     Android IPC分析: 这里 Effective Android Programming Techniques: here Android: Best practice for responsive user interfaces here Avoiding memory leaks: here YAFFS是神马: here New Gin ...
最近在做一款采集Android应用数据的工具包,类似友盟、flurry、localytics这种:提供一个工具jar包供应用开发者使用,开发者只需要调用几个简单的api就可以完成对基本信息的采集。   首先,稳定性一定要非常好。不能给应用引入问题。 其次,我觉得这个工具包要足够的简单。上面列举的几款已经发布的数据采集工具包都做到了这点,使用都很简单。相比之下,友盟是做的比较好的,功能也最多,分析出来的数据也最多。flurry、localytics呢,功能精简,虽不如友盟功能多,但是核心功能都有。 再者,工具包要占用足够少的资源,这些资源包括打包后的jar包小、启动后占用内存小、上传数据到 ...
最近在利用业余时间自学游戏开发,在看《Begining Android Games》,并学习了一下其中libgdx的原型实现和一个示例工程Mr. Nom。今天使用libgdx实现了一个简单的游戏场景:类似坦克大战中,一个坦克从左往右发射子弹。 效果图如下:     中间向上的箭头可以增加坦克同时发射的炮弹数目,右边的x按钮是发射键。   libgdx还是很强的,起码对于我这样不懂游戏开发的人来说,很容易上手。   demo实现中还有一些问题: 1.坦克不能移动,虽然留出了接口,但是想了想实现,还挺复杂 2.炮弹的发射、轨道机制还有问题,入上图所示,出现了炮弹相连的情况;炮 ...
最近做了一个项目,项目中发现了不少问题,在经理的鼓励下作了一下团队内部总结,我把自己写的贴在这里,也算是这些年来开发生涯的一个小故事吧。     这几天工作比较闲,正好有机会好好反思一下开发smart-search时的问 ...

Something about vm gc

It works something like this: - Bitmap objects live on the virtual heap - Bitmap data lives somewhere else (native heap, mmap() region, imagination land, whatever) - Bitmap objects have an integer field which is actually a pointer to a native struct, which in turn has width, height, stri ...
由于前面的文章涉及到了这两个概念,而我又对图像处理一窍不通,所以专门写一篇文章来了解这两个概念。 Colour banding              banding是计算机图形中颜色表现不精确的一个问题。 Dither Dither(抖动)是一种故意造成的噪音用以随机化量化误差,阻止大幅度拉升图像时导致的像banding(色带)这样的问题.Dither概念常用在数字声音和数字视频数据处理中,也常用在compact disc中。Dither来源:    最早源自二战,当时的轰炸机飞行员使用了一个机械计算机来进行导航和bomb轨道计算。奇怪的是,这些计算机(由上百机械零件组成 ...
以下所涉及的所有文章都被墙了。。   1.Android to Photoshop Android2.2以后的SDK自带的工具HierachyViewer提供了一个新的功能:Capture PSD。也就是说,它可以把设备当前的ui生成成一个photoshop文件。这个功能非常有用,它可以帮助你debug ui。。   需要注意的是,当你的手机烧制的是USER版本时,HierachyViewer不能工作,这是出于安全的原因。不过它可以在模拟器工作。   2.ScrollView’s handy trick ScrollView是Android中最常用的widget之一,并且同时也是 ...
Chrome默认是使用系统级的代理设置(在Windows下使用IE的代理服务器配置,在Ubuntu下使用Network Proxy的配置),而且无法通过其选项配置界面进行修改。如果不想这样,可以通过设置一些特殊的启动参数来修改: 1) --no-proxy-server  --> 禁用代理服务器配置 2) --proxy-auto-detect  --> 自动检测代理服务器配置 3) --proxy-server={host}:{port }  --> 手动指定代理服务器地址(只限于http/https) 例如: >chrome.exe --proxy- ...
5.Speed up your Android UI   一些Android程序需要从UI toolkit中一点点地挤出性能,不过确实有许多方法可以办到。在这篇文章中,你会发现如何加速你的绘制并感觉到activity启动时间的变化。这些技术都依赖于一个功能:window的background drawable.   window background这个概念有一点令人误解。当你在一个Activity中调用setContentView()来创建UI时,Android会把你所有view添加到Actitity的window中。这个window中不只包含你的那些view,还有一些是它人为你创建的 ...
Roman Guy是Android Framework的核心开发人员,从2009年开始,他在他的博客上发表多篇如何更好的开发android软件的文章(需要爬墙)。我的笔记的目的是把他这个系列的文章的核心内容总结起来。   第一篇.Faster Screen Orientation Change with A ...
最近终于开始闲了下来,加上在一位vim很熟练的同事的各种热心的帮助下,我决定开始学习vim。所以上周花了半天时间,跟着这篇文章《简明 Vim 练级攻略》练习使用vim,我练完了文章说的前三级。   昨天上午,坐下来用vim写一个非常简单的工具来体会一下如果完全用vim来写程序。   先看看工具的需求:在shell里面敲一个命令再加一个不认识的单词作为字符串参数,然后可以把这个字符串保存到某个固定文件中。这就是我平时在linux下在用的简陋的英语生词本。这个需求很简单,而且我会作得很简单,一是为了防止出现编码过程中那些复杂的情形,二是有用的东西,三是一开始别搞的太复杂,容易丢失信心。   ...
1. Android,任何app的生命都是短暂的,所以开发app时,不要试图假定:我的service会一直执行;我的这个线程不会被意外终结。 2. Android service是难以测试的。根本应该还是线程同步问题。 3. 当你的Service里面有AsyncTask时,测试时就要注意了,即便是你用ServiceTestCase也会出问题。问题在于AsyncTask会把接通post给主线程,而你的test里面并没有构造出主线程,所以你永远收不到onPostExecute。解决方法见:http://stackoverflow.com/questions/6065351/asynctask ...
问:电影《社交网络》给你最深的感受是什么? 答:执行力! 也许听起来有点残酷,但在互联网世界,创意(ideas)是不值钱的。注意一下影片中这些有意为之的情景: 当扎克伯格被女友抛下后(虽然是虚构的),他当晚就 ...
问题:创新工场面向所有的创业人员,但看过投资过的项目创始人,又有几个是草根创业者?或许我可能了解的并不深刻,但我想,在中国的创业环境中,何所谓“天使”?为什么创新工场可以和YC相提并论? Roy Li答:这个问 ...
在这里总结一下英语角里学习到的一些英语知识: 1.如何让结束表达? 我感觉说英语很难得一点就是语气,中国说英语经常比较死板。譬如,在一次普通的对话陈述中,如果不是以问句结尾,而且千万不要说"That's all",应该在最后一句话的快结尾的时候,先提高音调,再降低音调,这样老外会明白你的发言要结束了。 2.重音很重要。 不时对句子中的某个单词加重语气,能让人明显感觉到你这句话的强调的点。 3.说短句子。 说简明扼要的短句子,会明显加强沟通效果。如果总是想着用长句子表达,初学的时候,经常会出现问题,这样不但影响交流效果,还会导致信心降低。 4.忘记语法。 我个人觉得忘记 ...
Global site tag (gtag.js) - Google Analytics