Android开发技术周报 Issue#130

xjbf4798 7年前
   <p><img src="https://simg.open-open.com/show/d9c4333ff3330da8c2239678f0d2ac79.jpg"></p>    <h3>新闻</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959748929574444872" rel="nofollow,noindex">Android Studio 3 Preview 发布</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959748929662819849" rel="nofollow,noindex">发布Android Things Developer Preview 4</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959748929750202489" rel="nofollow,noindex">Android 免安装应用对所有开发者开放。立即开始构建免安装应用!</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959748929662819849" rel="nofollow,noindex">发布Android Things Developer Preview 4</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959748929850776208" rel="nofollow,noindex">2017 年 I/O 大会:Google Play 管理中心新功能大集合</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959748929933695816" rel="nofollow,noindex">从守护到公约,向死而生的新征程</a></p> </li>    </ol>    <h3>教程</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959748930013923993" rel="nofollow,noindex">Google I/O 2017上推出的新 GC 算法的原理是怎样的?</a></p> <p>貌似之前的Compact Copying Collector并不是concurrent的,然后在Android O里调整成为了Concurrent Copying Garbage Collector. 新的GC简单来说就是利用了read barrier来使得应用程序代码可以在GC过程中耗时最大的那些阶段依旧同GC一起运行。</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930100484604" rel="nofollow,noindex">Android截屏与WebView长图分享经验总结</a></p> <p>最近在做新业务需求的同时,我们在 Android 上遇到了一些之前没有碰到过的问题,截屏分享、 WebView 生成长图以及长图在各个分享渠道分享时图片模糊甚至分享失败等问题,在这过程中踩了很多坑,到目前为止绝大部分的问题都还算是有了比较满意的解决方案。以下就从三个方面来总结一下过程中遇到的挑战和最后的解决方案。</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930182325246" rel="nofollow,noindex">HTTPS 原理浅析及其在 Android 中的使用</a></p> <p>本文首先分析HTTP协议在安全性上的不足,进而阐述HTTPS实现安全通信的关键技术点和原理。然后通过抓包分析HTTPS协议的握手以及通信过程。最后总结一下自己在开发过程中遇到的HTTPS相关的问题,并给出当前项目中对HTTPS问题的系统解决方案,以供总结和分享。如有不当之处,欢迎批评和指正。</p> </li>     <li> <p><a href="/misc/goto?guid=4959008224628743571" rel="nofollow,noindex">为什么我要改用Kotlin</a></p> <p>相信很多开发人员,尤其是Android开发者都会或多或少听说过Kotlin,当然如果没有听过或者不熟悉也没有关系。因为本篇文章以及博客后期的内容会涉及到很多关于Kotlin的知识分享。在写这篇文章前的一个多月,Flipboard中国的Android项目确定了正式将Kotlin作为项目开发语言,这就意味着新增的代码文件将以Kotlin代码格式出现,而且同时旧的Java代码也将会陆陆续续翻译成Kotlin代码。</p> </li>     <li> <p><a href="/misc/goto?guid=4959748787453546697" rel="nofollow,noindex">Android音量系统分析</a></p> <p>最近在处理一个蓝牙设备播放没有声音问题时,发现是设置音量的问题,顺便学习了一下Android系统的音量构架原理及设置方法。这里主要参考了rinswindqin同学写的有关音频及音量分析的文章,加了一些自己的理解及源代码分析。下面以Android 6.0为例来说明。</p> </li>    </ol>    <h3>开源库 & App</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959748930329075317" rel="nofollow,noindex">android-architecture-components</a></p> <p>A collection of samples using the Architecture Components</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930407367774" rel="nofollow,noindex">android-instant-apps</a></p> <p>Android Instant Apps 的例子项目</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930491051043" rel="nofollow,noindex">android-EmojiCompat</a></p> <p>EmojiCompat support library 的例子项目</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930582392795" rel="nofollow,noindex">android-architecture-counter-sample</a></p> <p>Sample app using Android architecture components</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930653160219" rel="nofollow,noindex">android-AutofillFramework</a></p> <p>AutofillFramework 的例子项目</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930749405287" rel="nofollow,noindex">Rabbits</a></p> <p>A router module for Android application</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930817870868" rel="nofollow,noindex">kobalt</a></p> <p>A Kotlin-based build system for the JVM</p> </li>     <li> <p><a href="/misc/goto?guid=4959748930902335049" rel="nofollow,noindex">collapsingtoolbarlayout-subtitle</a></p> <p>Standard CollapsingToolbarLayout with subtitle support.</p> </li>     <li> <p><a href="/misc/goto?guid=4959748407739794497" rel="nofollow,noindex">ParticleTextView</a></p> <p>一个用粒子动画显示文字的 Android 自定义 View</p> </li>     <li> <p><a href="/misc/goto?guid=4959748407021337721" rel="nofollow,noindex">AwesomeQRCode</a></p> <p>一个优雅的(不起眼的) QR 二维码生成器</p> </li>    </ol>    <h3>工具</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959748931050202479" rel="nofollow,noindex">gradle-profiler</a></p> <p>A tool for gathering profiling and benchmarking information for Gradle builds</p> </li>     <li> <p><a href="/misc/goto?guid=4959748931128189656" rel="nofollow,noindex">gradle-android-publisher</a></p> <p>Gradle plugin to publish APKs to Google Play</p> </li>     <li> <p><a href="/misc/goto?guid=4959748931216203445" rel="nofollow,noindex">Online Compiler (Beta)</a> (by <a href="/misc/goto?guid=4959748931302585086" rel="nofollow,noindex">青小蛙</a> )</p> <p>是一款还在测试中的 Android 平台 IDE 工具,可以进行代码编辑、编译以及运行程序,支持 C、Ruby、Swift、PHP、NodeJS、Python 在内的 23 种语言。Web 版: <a href="/misc/goto?guid=4959748931387698232" rel="nofollow,noindex">https://compiler.run</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959748931458488625" rel="nofollow,noindex">svg-optimizer</a></p> <p>SVG 文件优化工具</p> </li>     <li> <p><a href="/misc/goto?guid=4959748931540183587" rel="nofollow,noindex">HackMD</a></p> <p>Realtime collaborative markdown notes on all platforms</p> </li>     <li> <p><a href="/misc/goto?guid=4959748931626786259" rel="nofollow,noindex">CloudConvert</a></p> <p>CloudConvert supports the conversion between more than 200 different audio, video, document, ebook, archive, image, spreadsheet and presentation formats.</p> </li>     <li> <p><a href="/misc/goto?guid=4959748931713903290" rel="nofollow,noindex">IconFlower</a></p> <p>Arrange icons, images and shapes in Phyllotaxis ( leaf arrangement) patterns. Leaf arrangement pattern in a sunflower, for example.</p> </li>     <li> <p><a href="/misc/goto?guid=4959748931813624928" rel="nofollow,noindex">Launchpad for Sketch</a></p> <p>Publish Websites from Sketch</p> </li>    </ol>    <h3>设计</h3>    <ol>     <li><a href="/misc/goto?guid=4959748931894545719" rel="nofollow,noindex">“基于组件的设计方法”介绍</a></li>    </ol>    <p>  </p>   <p> </p>    <p></p>    <p>来自:http://www.androidweekly.cn/android-dev-weekly-issue-130/</p>    <p> </p>