诗意代码,不仅仅是代码

boat

not just code

一个朋友问我,这里是明明是“诗意代码”,怎么还掺杂着“非”代码的东西呢?听后,微微一笑,这也许是因为我的目光常常游走在代码世界之外吧。

在校园的时候,梦想成为黑客和超人的混合体,狂热追求着一切最新的技术,编写代码语不惊人死不休,那时候满眼的都是代码,就像是Neo眼中的世界一样,妄想着自己可以驾驭一切,天高海阔,任我驰骋。

写代码的时候,偶尔也感到疲倦,期望着它要有一种美感,于是有了“诗意代码”的初念,希望自己写出来的代码要像诗歌一样美好,无论是自己,还是将来阅读它的人,都能产生美的感受。在我眼中,它具有生命,蕴含了我的气质,是另一个世界的我。

代码可以一直存活在计算空间中,对于世事变迁、人情冷暖,它一无所知,然则我确是芸芸众生的一员,飘来荡去,自然见异思迁,慢慢地接触到代码世界之外的精彩,随之我的身份也不再仅仅是代码的造物主。

我喜欢上了摄影,努力留住稍纵即逝的美丽,那女孩,那孩子,还有那远山和那流水,都是我的爱人,按下快门,分享给朋友。

[ Read More » ]

警惕ContentProvider的风险

Android

当下的Android App形态里,很大一部分App是多进程的。 假设某音乐类App,其有主进程(Main Process)和播放进程(Play Process)之分,二者之间通过ContentProvider进行大数据量访问。 前者负责提供ContentProvider,后者则访问该ContentProvider

通常,运行在操作系统之上的各个进程,其地址空间是独立的,运行起来互不干扰。 其中一个进程退出或崩溃,并不会影响其他进程,这种隔离是由操作系统保障的。 但是,在Android上似乎并不是这么符合直观。

[ Read More » ]

Understanding Android Source: ASHMEM

Android

本文介绍了对作者Android匿名共享内存的认识,这些认识来自于对三本书的学习,分别是《Android系统源代码情景分析》、《深入理解Linux内核》、《Unix网络编程 卷二:进程间通信》。作者能力水平有限,难免在一些文字上鹦鹉学舌,错误也难免,敬请读者注意甄别。

[ Read More » ]

thermal-engine 与手机发烫、卡顿

Android

我自己编译AOSP已经很久了,也陆续刷机到Nexus 5和Pixel上,虽然之前也有遇到过缺失系统库文件一类的问题,但也都解决了。不过,一直以来有个问题困扰着我,那就是在Nexus 5上的耗电问题。

[ Read More » ]

Understanding Android Source: Binder Driver

Android

Binder驱动扮演的角色主要有:

  • 提供Binder通信的渠道;
  • 维护Binder对象的计数;
  • 转换传输中Binder实体对象和引用对象;
  • 管理数据缓冲区。
[ Read More » ]

Understanding Android Source: Binder Library

Android

Android Binder的前身是OpenBinder,已经于2014年10月合并入Linux主线,得到Linux阵营的认可。其可以理解为一种面向对象的远程调用。

[ Read More » ]
←Older