Android开发中,可以在Java代码里给View设置点击事件,也可以直接在XML布局里通过android:onClick
属性设置回调,这篇日志注意是从源码角度分析后者的实现方式。
吐槽・年轻人换工作不频繁难道换女票频繁么
如果无法改变客观环境,我们可以改变主观心情?去你麻痹的鸡汤。
之前收到了日本某家画画公司的Android职位的视频面试邀请,虽然由于网络的关系,Skype链接断了好几次很尴尬,但是总算是完成面试。日本企业面试似乎不太关心技术问题,更多是一些职场上常见的问题,比如“为什么打算换工作”、“你对自己在上分工作的评价”、“如果换工作后发现新的工作没有想象中好会怎么处理”之类的,而且一般被问及的人也会按照惯用的答案进行回答,这类东西叫做“世辞”。
本来以为日本公司的面试气氛会非常严肃,而且我平时日语用的少(日常使用大多是内心的吐槽和自我对话),更糟糕的是,一直以来对职场日语的练习甚少,平时使用大多是非常随便的日常式语句,如果面试过程中突然随口爆出几句“お(▼▼;)σ オマエ”、“(#゚Д゚)ダマレ!!”之类的口癖就真的完了。加之,我也不知道日本公司APP开发部门的程序员日常用的术语是怎么样的,像“服务器炸了”、“产品改需求”之类的话实在很难期待对方的电波能对得上。
性能调优・技术优化点
最近一个星期居然没有产品的需求,本来打算涂几个妹子过双11,突然想到许多新人进项目组后会把项目以前踩的坑给再次踩一边,特别是一些会引发性能问题的“有坏味道”的代码,虽然一点有问题的代码暂时不管也不会有多大的影响,但是“千里之堤,毁于蚁穴”,一旦问题严重了就不好处理了。不能指望每次都做好完整的Code Review,最好的做法是把“性能优化”的技术点总结一下,输出一个文档,给那些新加入的小伙伴们看看,免得重复踩坑。
其实性能调优涉及到多方面的工作,一晚上也只能想到这么多,而且都是一些老生常谈、炒冷饭的东西,这个贴的目的在于想骗一些高质量的干货(我从未见过如此厚颜无耻之人+脑补诸葛孔明表情图),然后我再整合进来,接下来再把每一点都讲详细一点,配合项目中遇到的实例案例进行分析,最好再写个DEMO之类的放到Github骗骗粉之类的。
请大家补充要点啊,我一并处理。以下只是一时想到写的笔记,详细的分析还需要一点时间。
性能调优・一本正经的胡说八道
“一本正经地胡说八道”用日语怎么说?大概是「真面目にふざけている」吧。这篇日志大概就是这么一个意思?
一直以来都想对Android APP开发的性能调优做一下总结,其实性能调优涉及到多方面的工作,每次有一些心得我都会记录下来,零零散散记录了很多,最近发现许多地方重复了,感觉还是得做一下整理的,知识就是这么牢固起来的。
“APP卡顿”是一个问题,我们既需要知道怎么查找出哪里造成卡顿,也需要掌握规避这些卡顿的技巧,所以这个话题可以分为“如何定位APP中的性能问题”和“提高性能需要注意哪些点”这两部分,后续在陆续对这两点展开讨论吧,今天先从整体分析下问题存在的原因。
图片加载库FRESCO的一个DEMO
现在市面上各种图片加载库,性能其实相差不是很大,最主要的区别还是使用方式的复杂程度。Fresco使用起来非常简单,也容易扩展,然而这并不是我喜欢Fresco的主要原因。
MVP模式简单易懂的介绍方式
Android MVP模式[1]也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式。当项目越来越庞大、复杂,参与的研发人员越来越多的时候,MVP模式 的优势就充分显示出来了。
MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Activity应该是属于View这一层。而实质上,它既承担了View,同时也包含一些Controller的东西在里面。这对于开发与维护来说不太友好,耦合度大高了。把Activity的View和Controller抽离出来就变成了View和Presenter,这就是MVP模式.。
HEXO响应式主题・THEMIA
重新启动博客后,第一件事就是要选主题。
无论是空间时代、Wordpress时代,还是现在换成Hexo,每次我都要折腾好几天选一个喜欢的主题。
到目前为止,最喜欢的主题是萌の空的响应式WP主题,但是如今Soma已经放弃该博客了,主题也没有开源出来,所以又得找新的主题了。把国内外大大小小的Hexo主题翻了个边,连Fork的主题都没放过,发现最满意的还是TranquiPeak,不过我不喜欢直接拿来用,有不少地方还得改一改。
Themia是一个华丽的Hexo响应式主题,由LouisBarranqueiro开发的主题TranquiPeak的基础上改造而来,大部分功能都是原有主题的,只是为了我自己的需求做了小部分的修改。
给App启用MultiDex功能
App启动MultiDex主要是为了解决“65535方法数超标”以及“INSTALL_FAILED_DEXOPT”问题,就目前来说,对于使用Android Studio的朋友来说,MultiDex这个术语应该不陌生。而对于那些从早期使用Eclipse开发Android的人来说,这个词语则更加再熟悉不过了,因为用Eclipse开启MultiDex功能实在是太坑爹了(默默给Eclipse加一把土)。
流畅的ANDROID模拟器
“工欲善其事,必先利其器。” 使用Android模拟器
开发和调试应用肯定比使用真机方便。但相比XCODE
的IOS模拟器
,Android SDK自带的AVD
实在不争气,不过一些第三方的模拟器却表现不俗!
10年我开始接触Android开发时候,手头上甚至连一部低端的Android手机都没有,那时候用的是Android SDK自带的AVD模拟器,相信任何Android开发者都对这货深恶痛绝。一直以来,Android开发都有以下的毛病:
- AVD模拟器奇卡无比;
- 使用USB数据线链接手机经常无法设别设备,adb容易抽风;
- Log日志输出不全;
一直以来都想找一款能够顺畅运行APP的Android模拟器,以下就介绍几款比较给力的。
开始将博客搬迁到HEXO
平时要么在工作中学习,要么在家里学习,但是不知道自己进步到哪一步了,故准备重启博客系统,记录一些点滴以看清自己的成长。相比以前使用的Wordpress
,更想尝试一下静态博客,对比多个博客系统后,决定采用HEXO
。