Android开发技术周报 Issue#124
yachunmiao
8年前
<h3>新闻</h3> <ol> <li> <p><a href="/misc/goto?guid=4959747000773308782" rel="nofollow,noindex">Google希望Android开发人员更加了解颜色</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747028557672854" rel="nofollow,noindex">翻版GS8?谷歌Pixel 2代外形渲染图曝光</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747000866876316" rel="nofollow,noindex">发布半年 谷歌 Android 7.0/7.1采用率仍不到5%</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747028668953033" rel="nofollow,noindex">Google Play将对开发者停止支持礼品等游戏服务</a></p> </li> </ol> <h3>教程</h3> <ol> <li> <p><a href="/misc/goto?guid=4959747028763778008" rel="nofollow,noindex">浅谈对于mp3文件中VBR对比CBR的一些基本差异</a></p> <p>从比特率编码方式的角度来看,目前其中一种最常见的音频文件格式MP3,可以再分为两种类型:一种是恒定比特率CBR(Constant Bit-Rate),这种类型的mp3每一帧的比特率都是恒定唯一的;另外一种就是可变比特率VBR(Variable Bit-Rate),这种类型就跟CBR相反,每一帧的比特率是不固定的,帧与帧之间的比特率可能一样也可能不一样。由于存在这样两种类型,播放mp3文件时需要做的一些工作,比如获取音频信息和播放进度控制,就需要分开处理。</p> </li> <li> <p><a href="/misc/goto?guid=4959747028850416458" rel="nofollow,noindex">舞动的表情包——浅析GIF格式图片的存储和压缩</a></p> <p>GIF(Graphics Interchange Format)原义是“图像互换格式”,是CompuServe公司在1987年开发出的图像文件格式,可以说是互联网界的老古董了。GIF格式可以存储多幅彩色图像,如果将这些图像连续播放出来,就能够组成最简单的动画。所以常被用来存储“动态图片”,通常时间短,体积小,内容简单,成像相对清晰,适于在早起的慢速互联网上传播。</p> </li> <li> <p><a href="/misc/goto?guid=4959747028938727209" rel="nofollow,noindex">经典随机Crash之二:Android消息机制</a></p> <p>好几次灰度top1、top2 Crash发生场景:在很平常、频繁的使用页面,打开一个界面,马上返回,piaji,挂了,估计用户心中有千万只草泥马在奔腾,手机QQ究竟怎么呢?找到开发童鞋,还是熟悉的对话:请教:这个Crash能复现吗?开发答:场景就在这,就是复现不了啊,这里有个空指针,那我就加个判空,我只好去看下开发童鞋的代码,发现都有一个共性,跟handler postDelayed有关系,这里抽取出Crash代码梗概</p> </li> <li> <p><a href="/misc/goto?guid=4959747029025025580" rel="nofollow,noindex">创建后台任务的两种代码模式</a></p> <p>后台任务是每个App都需要的一些行为,毕竟主线程是大爷,拖不起,伤不起,脏活累活都只能在不见天日的后台去做。最简单的后台任务,可以说是直接开一个线程就可以了,或者说来个Service,再开个线程。但这些并不是官方认证的最佳实践,实际上,Google早就考虑到了这一点,并把这些需求进行了封装,给我们提供了非常好的后台任务解决方案,并在Training上进行了讲解</p> </li> <li> <p><a href="/misc/goto?guid=4959747029110298412" rel="nofollow,noindex">大型项目 GitFlow 实践</a></p> <p>首先,这不是一篇讲解gitflow工作流的文章,也不是讲解git工具命令的文章(但是看这篇文章之前一定要熟悉git和gitflow),作为比较重量级的产品,发布周期从最早的3个月一版本,到1个月一版本,再到半个月一版本,我回顾一下我们使用gitflow的全过程,从svn到git到gitflow,总结一些遇到的问题和我们的做法,还有结合敏捷的一些思考等,供大家参考。</p> </li> </ol> <h3>开源库 & App</h3> <ol> <li> <p><a href="/misc/goto?guid=4959747002673748401" rel="nofollow,noindex">FingerprintManager</a></p> <p>A small library to handle Android fingerprint API</p> </li> <li> <p><a href="/misc/goto?guid=4959747002433269448" rel="nofollow,noindex">Grav</a></p> <p>Configurable animations based on points</p> </li> <li> <p><a href="/misc/goto?guid=4959747002344349069" rel="nofollow,noindex">PatternLockView</a></p> <p>An easy-to-use, customizable, Material Design complaint Pattern Lock view for Android</p> </li> <li> <p><a href="/misc/goto?guid=4959009806342377686" rel="nofollow,noindex">UltraViewPager</a></p> <p>一个封装多种特性的ViewPager,主要是为多页面切换场景提供统一解决方案</p> </li> <li> <p><a href="/misc/goto?guid=4959747002066692700" rel="nofollow,noindex">cropiwa</a></p> <p>一个可以灵活配置的图片裁切控件</p> </li> <li> <p><a href="/misc/goto?guid=4959747002595090510" rel="nofollow,noindex">IconSwitch</a></p> <p>一个切换的动画效果很漂亮的自定义 Switch widget</p> </li> <li> <p><a href="/misc/goto?guid=4959747029369080970" rel="nofollow,noindex">tinglingsquares</a></p> <p>A delightful progressbar animation</p> </li> <li> <p><a href="/misc/goto?guid=4959746865093841407" rel="nofollow,noindex">Badger</a></p> <p>A badge for any drawable</p> </li> </ol> <h3>DevTips</h3> <ol> <li>MimeTypeMap.getFileExtensionFromUrl() 可以从url中获取文件后缀名 (By <a href="/misc/goto?guid=4959747029481614149" rel="nofollow,noindex">杨辉__</a> )</li> </ol> <h3>工具</h3> <ol> <li> <p><a href="/misc/goto?guid=4958839376755114701" rel="nofollow,noindex">SuperPNG</a></p> <p>一个开源的 Adobe Photoshop PNG 图片压缩软件</p> </li> </ol> <h3>设计</h3> <ol> <li> <p><a href="/misc/goto?guid=4959747029591685634" rel="nofollow,noindex">移动应用设计:综述、导航和浏览</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747029678047546" rel="nofollow,noindex">移动应用设计:应用内搜索和业务转化</a></p> </li> </ol> <h3>技术之外</h3> <ol> <li> <p><a href="/misc/goto?guid=4959747029770255065" rel="nofollow,noindex">Uber如何“鸡贼”地让司机不断加班?</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747029852749283" rel="nofollow,noindex">周鸿祎:很多程序员一看就知道不会创业</a></p> </li> </ol> <h3>活动</h3> <ol> <li> <p><a href="/misc/goto?guid=4959747029933419365" rel="nofollow,noindex">Women Techmakers 2017 郑州站开始报名喽</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747030015136732" rel="nofollow,noindex">17'Women Techmaker 谷歌女性开发者大会北京站</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747030095267197" rel="nofollow,noindex">报名啦!4月15日WTM 2017珠海站等你来!</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747030174897113" rel="nofollow,noindex">千呼万唤始出来!WTM 南京GDG专场活动!</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747030253924612" rel="nofollow,noindex">天津GDG 2017 WTM(谷歌女性开发者节) 报名</a></p> </li> <li> <p><a href="/misc/goto?guid=4959747030341154635" rel="nofollow,noindex">2017 GDG Xiamen WTM 活动报名</a></p> </li> </ol> <h3>酷工作</h3> <ol> <li> <p>上海爱奇艺招聘 Android/iOS 工程师</p> <p>上海徐汇/20k ~ 40k/五险一金/医疗报销/5 年以上经验/熟悉 Android 插件化和架构设计 or 具备 iOS 上流媒体的开发经验者优先/简历发送至: <a href="/misc/goto?guid=4959736966340615965" rel="nofollow,noindex">jinkai@qiyi.com</a></p> </li> <li> <p><a href="/misc/goto?guid=4959740672961894019" rel="nofollow,noindex">北京明日虫洞科技有限公司诚招Android工程师</a></p> <p>十号线海淀黄庄(中关村大厦)/20k ~ 30k/五险一金/补充医疗/年底双薪/免费午餐和晚餐/简历发送至: <a href="/misc/goto?guid=4959741384880809115" rel="nofollow,noindex">simplecoder.h@gmail.com</a> (记得注明在『Android 开发技术周报』看到的)</p> </li> <li> <p><a href="http://weibo.com/ttarticle/p/show?id=2309404030072645391967&retcode=6102" rel="nofollow,noindex">美团点评诚招Android工程师</a></p> <p>北京望京/20~40K/15.5 薪/日均超过1.4场次的各种技术分享/各种面授培训/外部大牛技术分享/简历发送至:ouyanghaibing@meituan.com (记得注明在『Android 开发技术周报』看到的)</p> </li> </ol> <h3> </h3> <p>来自:http://www.androidweekly.cn/android-dev-weekly-issue-124/</p> <p> </p>