Android开发技术周报 Issue#114

kobe73er 3年前
   <h3>新闻</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959735092706199170" rel="nofollow,noindex">Google通知:Android通知中心风格必须统一</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959735092787313144" rel="nofollow,noindex">Google 致信开发者:透露 Android Wear 2.0 新版到来时间</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959735092875740015" rel="nofollow,noindex">Chrome OS运行Android 7.1.1截图曝光</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959735092951556061" rel="nofollow,noindex">Android最新份额:只有0.2%设备运行最新系统 Froyo份额低于0.1%</a></p> </li>    </ol>    <h3>教程</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959735093028880373" rel="nofollow,noindex">谈谈Android的so</a></p> <p>一般情况下,我们不需要关心so。但是当APP使用的第三方SDK中包含了so文件,或者自己需要使用NDK开发某些功能,就有必要去好好了解下so的一些知识。早期的Android设备只支持ARMv5的CPU架构,随着Android系统的快速发展,搭载Android的硬件平台也早已多样化了,又加入了ARMv7,x86,MIPS,ARMv8,MIPS64和x86_64。</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093111444499" rel="nofollow,noindex">你为什么需要 Kotlin</a></p> <p>为了不丢掉社会主义新青年勤奋刻苦的优良传统,你决定学一下 Kotlin,不过说真的,这决定也是坑苦了自己,毕竟那段时间 Kotlin 的 API 还没有趋于稳定,经常从网上找到个 demo,搞到本地就编不过去,哭死。直到 2016年2月,Kotlin 1.0 正式发布,凌乱的 API 也随着曾经躁动的心的平静而稳定下来,你无需再忍受什么,甚至还有了一种『终于看着娃长大了』的感觉。</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093192421039" rel="nofollow,noindex">React Native 核心渲染流程分析(1) - 初识组件系统</a></p> <p>最近把yoga源码看了一遍,它是一个按照Flexbox ( <a href="/misc/goto?guid=4959735093269866753" rel="nofollow,noindex">https://www.w3.org/TR/css3-flexbox</a> )规范,利用Web熟悉的API做高效measure的库。本来想做个它在React Native for Android (以下简称RN4A)中的应用与分析,但是在这之前应该先将RN渲染流程搞懂,我们才能去进一步分析如何应用yoga去辅助测量。</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093349985130" rel="nofollow,noindex">ExifInterface 支持库简介</a></p> <p>随着 25.1.0 支持库的发布,支持库大家庭迎来了一名新成员:ExifInterface 支持库。由于 Android 7.1 引入了对框架 ExifInterface 的重大改进,因此只有通过支持库的 ExifInterface 让所有 API 9 以上的设备都能利用这些改进才有意义。</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093423654728" rel="nofollow,noindex">人人车Android客户端架构演进实录</a></p> <p>本文回顾总结了人人车公司Android客户端的架构演进历程。人人车App随着公司在业务和规模上的飙升,持续集成业务需求的同时,架构也不断的重构演化,从模块化,分层化,到框架化,服务化,对Android客户端架构设计和改进有一定的参考意义。</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093512050580" rel="nofollow,noindex">RecyclerView 必知必会</a></p> <p>RecyclerView是Android 5.0提出的新UI控件,位于support-v7包中,可以通过在build.gradle中添加compile 'com.android.support:recyclerview-v7:24.2.1'导入。RecyclerView的官方定义如下:A flexible view for providing a limited window into a large data set.从定义可以看出,flexible(可扩展性)是RecyclerView的特点。不过我们发现和ListView有点像,本文后面会介绍RecyclerView和ListView的区别。</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093598692046" rel="nofollow,noindex">美团热更新方案 ASM 实践</a></p> <p>从《Android热更新方案 Robust》一文可知,美团热更新使用的是 Instant Run 的方案。本文将着重于分享美团热更新方案中没讲到的部分,包含以下几个方面:1.作为云服务提供厂商,需要提供给客户 SDK,SDK 发布后同样要考虑 Bug 修复问题。此处将介绍作为 SDK 发布者的热更新方案选型,即为什么使用美团方案&Instant Run 方案。2.美团方案实现的大致结构;3.ASM 插桩的过程,字节码导读,以及遇到的各种坑</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093680352848" rel="nofollow,noindex">Android 5.0(Lollipop)中的SurfaceTexture,TextureView, SurfaceView和GLSurfaceView</a></p> <p>SurfaceView从Android 1.0(API level 1)时就有 。它继承自类View,因此它本质上是一个View。但与普通View不同的是,它有自己的Surface。我们知道,一般的Activity包含的多个View会组成View hierachy的树形结构,只有最顶层的DecorView,也就是根结点视图,才是对WMS可见的。这个DecorView在WMS中有一个对应的WindowState。相应地,在SF中对应的Layer。而SurfaceView自带一个Surface,这个Surface在WMS中有自己对应的WindowState,在SF中也会有自己的Layer。</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093759746860" rel="nofollow,noindex">Jack和Jill 你应该在你下个安卓app中应用吗?</a></p> <p>2016年Google大会发布了 Android N与新的编译工具 Jack 和 Jill.Jack和Jill(Jack Intermediate Library Linker) 是 Android 的编译器,目的是替代现有的 javac+dx 工具链.我们看一下在这之前 Android 是如何进行编译工作,以及在这之后如何使用 Jack 在你的 Android 应用项目.</p> </li>     <li> <p><a href="/misc/goto?guid=4959735093850265170" rel="nofollow,noindex">你真的了解 gzip 吗?</a></p> <p>因缘巧合写了这篇文章,初心是了解一下gzip,并给和我一样初级的前端萌新玩家做一个分享。其他前端玩家看到文中疏漏的地方,欢迎提出意见。感谢寸志老师收录这篇小文章,感谢评论区各位提供的意见。我会在认真研究之后,写出第二篇《你真的了解gzip吗》,根据gzip算法特性编写静态文件以实现gzip压缩效率最大化。</p> </li>    </ol>    <h3>开源库 & App</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959735093932138390" rel="nofollow,noindex">hover</a></p> <p>A floating menu library for Android.</p> </li>     <li> <p><a href="/misc/goto?guid=4959735094010438886" rel="nofollow,noindex">ARouter</a></p> <p>用于在Android平台,从外部(浏览器等),内部直接导航到页面、服务的中间件</p> </li>     <li> <p><a href="/misc/goto?guid=4959735094105598441" rel="nofollow,noindex">MagicFloatView</a></p> <p>一个可配置及自定义拓展漂浮路径的迷你版轻量级 MagicFlyLinearLayout 漂浮控件</p> </li>     <li> <p><a href="/misc/goto?guid=4959735094188400448" rel="nofollow,noindex">CounterFab</a></p> <p>A FloatingActionButton subclass that shows a counter badge on right top corner</p> </li>     <li> <p><a href="/misc/goto?guid=4959735094280624732" rel="nofollow,noindex">FreeBuilder</a></p> <p>Automatic generation of the Builder pattern for Java 1.6+</p> </li>     <li> <p><a href="/misc/goto?guid=4959732882351986081" rel="nofollow,noindex">PanoramaImageView</a></p> <p>通过监听设备旋转,自动滚动图片</p> </li>    </ol>    <h3>工具</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959735094402470460" rel="nofollow,noindex">Walle</a></p> <p>新一代开源Android渠道包生成工具</p> </li>     <li> <p><a href="/misc/goto?guid=4959735094481897590" rel="nofollow,noindex">VectorDrawable Previewer</a></p> <p>一个可以在 Chrome 里预览 VectorDrawable 文件的插件</p> </li>     <li> <p><a href="/misc/goto?guid=4959735094567370021" rel="nofollow,noindex">ApkMultiChannelPlugin</a></p> <p>一个为了方便 Android 多渠道打包的 Android Studio / IDEA 插</p> </li>     <li> <p><a href="/misc/goto?guid=4959735094652105972" rel="nofollow,noindex">AndroidSDK</a></p> <p>由于Docker默认的AUFS存储驱动原因, 市面上所有开源的Android Docker镜像都是无法正常使用(更新SDK便会失败). 这个是第一个能完美使用, 并且包含模拟器, 同时, 教程非常详细.</p> </li>     <li> <p><a href="/misc/goto?guid=4958966068485916030" rel="nofollow,noindex">dryrun</a></p> <p>Try the demo project of any Android Library</p> </li>     <li> <p><a href="/misc/goto?guid=4959735094767226937" rel="nofollow,noindex">Android Rocket Launcher</a></p> <p>Launch android modules from the terminal</p> </li>    </ol>    <h3>视频</h3>    <ol>     <li><a href="/misc/goto?guid=4959735094867778282" rel="nofollow,noindex">Kotlin从入门到『放弃』系列 视频教程</a></li>    </ol>    <h3>技术之外</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959735094962433215" rel="nofollow,noindex">新手最快摆脱“烂片”的方法:学会三分法构图</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959735095048387218" rel="nofollow,noindex">Coursera 上有哪些课程值得推荐?</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959735095127787163" rel="nofollow,noindex">如何掌控你的自由时间</a></p> </li>    </ol>    <p>  </p>   <p>来自:http://www.androidweekly.cn/android-dev-weekly-issue-114/</p>    <p></p>    <p> </p>