首页
Shen Lin
取消

Hello World

今天起正式加入大魅科技。我要感谢这段时间以来组里每个同事给予我的帮助和指导,尤其是帅气的珠海市市长!! 新的环境,机遇和挑战会越来越多,除了加油,没有别的!

great font rendering effect for android studio on linux

一年后的今天,当我鼓起勇气再一次打开 Android Studio,这 Linux 下华丽的字体渲染再一次把我亮瞎了。 治疗 Linux 下 Android Studio 的字体渲染症,你需要如下几个步骤: 首先,vim 一下 android-studio/bin 下的 studio64.vmoptions 文件(32位系统则对应 studio.vmoptions ),在最后面作...

Best tips for Ubuntu 14.04

Ubuntu 14.04 相信我,Ubuntu 14.04 一定是 Canonical 迄今为止做出的最漂亮的 Ubuntu,当然,也是最事儿逼的。因为它让我两天内很无语地重装了三次。。。 以下这些问题大多数人在安装过时或者安装后一定都会遇到,希望你能在这里找到真正有效的答案。 F&Q 1.如何禁用触控板 如果你在装完 14.04 之后发现你亲爱的触控板开关快捷键不起作用了,请...

Back to ubuntu

I can not take Windows ANY MORE!!!

Octopress on Windows

因为预感到接下来的一段时间自己电脑要用 Windows 搞很多东西,所以昨晚回到了 Windows 8.1。然后这个事儿逼的操作系统真的好好地把我的博客艹了一番。。。 说几个注意事项吧,供兄弟们参考。 首先,因为 Octopress 是静态的,所以备份网站就很简单,直接把你网站的文件夹保存下来就好。 然后到了 Windows 下,你需要安装Git,不说了;然后是 Ruby ,Ruby ...

实习一周工作日志

起这个标题可以有一种弄弄的时代感,仿佛只有上个年代那些工厂才会有一本油腻腻的簿册,上面红色印刷着四个大字——《工作日志》。 好吧跑远了。来到大魅科技实习一个星期了,感慨还是有一些的。 首先,来的那天上午刚到哈工大二楼,一眼就看到了蛋哥拿着 macbook 穿梭在人群间。然后在研发助理那报道,东西还没写完就被翻总拉进了会议室认识小伙伴们,看到 timgor 的时候整个人瞬间产生了一股强烈的...

Android Reverse Engineering System Native Apps

之前写过一篇关于反编译 android 软件的总结,不过那是针对一些第三方应用的。针对系统应用,需要一些“特殊”的办法。 Why odex? 在 android 系统中,所有的系统级软件都被分解成了两个文件,而不是单纯的“apk file”。以图库为例,在 /system/app 下可见 “Gallery2.apk”和“Gallery2.odex” 两个文件。至于为什么要这样分解,下面这段...

Best Practise For Loading Bitmaps Into A Viewpager

在 Android 开发中,处理 Bitmap 一向需要小心翼翼,因为这块一旦弄得不好的话,轻者会造成应用卡顿,严重地会直接 OOM 或导致 ANR。今天在重构毕业设计引导界面时,使用了一个简单的优化技巧,使得应用的启动性能有了相当明显的改善。 这个页面的 ViewPager 所带动的 Fragment 的布局里含有一个 ImageView,原来在 Fragment 里加载图片时是这么处理...

Java: Everything About Interface Callback

Instruction 今天晚上在复习 Java 时对接口回调这一部分看得晕乎乎的,看了好几篇博客,写了几个例子之后,我想把自己的理解提炼出来。 Def 回调方法:必须由程序员来实现,但不能由程序员来直接调用,而是必须由其他方法在满足调用条件时去调用的。 Example 概念总喜欢把通俗易懂的东西变得让人摸不着头脑。通俗一点的理解,Java 里的接口回调,就是A类调用B类里的方法C(方法...

Android Issue: readObject method throws ClassNotFoundException

今天在项目中遇到一个问题,解决后发现也加深了我对 AIDL 的理解,果然知识到了一定水平之后确实是融会贯通的! 先看服务端的代码: ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); User user = new User(); user.setName("linshen"); oos.wr...