Android博客周刊第65期

di973684 7年前
   <p><strong>新闻</strong></p>    <h2><a href="/misc/goto?guid=4959008385972960143" rel="nofollow,noindex">1.Android O将允许通过Play Store更新图形驱动程序</a></h2>    <p>多年来,移动操作系统与桌面环境的一大区别,就是只能隔很长一段时间才能整体升级一次。如果用户只想更新移动 OS 中的某个基础模块,往往特别复杂。相比之下,如果你想要更新 PC 上的显卡驱动版本</p>    <h2><a href="/misc/goto?guid=4959749499234098581" rel="nofollow,noindex">2.Android O功能聚焦:可以暂停下载系统更新</a></h2>    <p>如果用户没有很好的互联网连接,下载大量文件并不总是方便,除非用户拥有无限数据计划,否则在无WiFi的情况下继续下载是一个坏主意。 Google似乎同意这个观点,因为Android O的第二个开发者预览版本现在具有“暂停下载”按钮。</p>    <p><strong>国外博客</strong></p>    <h2><a href="/misc/goto?guid=4959749499328164111" rel="nofollow,noindex">1.Exploring the new Android Architecture Components library</a></h2>    <p>What an I/O! There were so many exciting things announced this year and too much that I want to write about! One of the topics that I (and a lot of other people) were hyped for was on Architecture.</p>    <h2><a href="/misc/goto?guid=4959748623843119011" rel="nofollow,noindex">2.Dagger 2: Android Modules</a></h2>    <p>Many of the articles I write tend to involve application structure or architectural design patterns; and one of the most recurring topics I tend to visit is that of dependency injection.</p>    <h2><a href="/misc/goto?guid=4959749499457908543" rel="nofollow,noindex">3.Delegation in Kotlin</a></h2>    <p>Delegation (in computer science) is the assignment of authority from one instance to another. It can operate mutable as well as static relationship between classes</p>    <h2><a href="/misc/goto?guid=4959747945823448491" rel="nofollow,noindex">4.Mirror: Easy Reflection for Java and Android</a></h2>    <p>I’ve been working on Android for a while, and it’s been many years that I must do some tweaking and hacking to call private APIs (using Java Reflection, for good and bad reasons).</p>    <h2><a href="/misc/goto?guid=4959749499589225514" rel="nofollow,noindex">5.Google I/O</a></h2>    <p>I have watch yesterday’s Google IO keynote live stream, and what blows me away the most about conferences like this is how international they are. With all that is going on in the world.</p>    <p><strong>国内博客</strong></p>    <h2><a href="/misc/goto?guid=4959749499689300505" rel="nofollow,noindex">1.Android原生简易图文编辑器和展示实现</a></h2>    <p>尽管Android设备的性能日益增强,但是通过webview来展示内容和原生的体验还是有一定的差距的,在某些情况下,我们只是需要简单的图文并排就够了,比如一些帖子,这个时候用webview就显的有点重,考虑到这一点,我们决定在客户端原生支持特定的网页标签。</p>    <h2><a href="/misc/goto?guid=4959749499783202479" rel="nofollow,noindex">2.用MediaPlayer+TextureView封装一个完美实现全屏、小窗口的视频播放器</a></h2>    <p>在Android总播放视频可以直接使用VideoView,VideoView是通过继承自SurfaceView来实现的。SurfaceView的大概原理就是在现有View的位置上创建一个新的Window,内容的显示和渲染都在新的Window中。</p>    <h2><a href="/misc/goto?guid=4959749499879703356" rel="nofollow,noindex">3.带你学开源项目:LeakCanary-如何检测 Activity 是否泄漏</a></h2>    <p>OOM 是 Android 开发中常见的问题,而内存泄漏往往是罪魁祸首。 为了简单方便的检测内存泄漏,Square 开源了 LeakCanary,它可以实时监测 Activity 是否发生了泄漏,一旦发现就会自动弹出提示及相关的泄漏信息供分析。 本文的目的是试图通过分析 LeakCanary 源码来探讨它的 Activity 泄漏检测机制。</p>    <h2><a href="https://mp.weixin.qq.com/s?__biz=MzIwMzYwMTk1NA==&mid=2247484614&idx=1&sn=5580b6d316846deb1153b4aefdedddb4&chksm=96cda58ba1ba2c9d23838a5f1e4446fd00cb8f2b3db65287fb673d1abed9b473a65e2aaf6c20#rd" rel="nofollow,noindex">4.你知道Thread线程是如何运作的吗?</a></h2>    <p>我们在Android开发过程中,几乎都离不开线程。但是你对线程的了解有多少呢?它完美运行的背后,究竟隐藏了多少不为人知的秘密呢?线程间互通暗语,传递信息究竟是如何做到的呢?Looper、Handler、MessageQueue究竟在这背后进行了怎样的运作。</p>    <h2><a href="https://mp.weixin.qq.com/s?__biz=MzI3OTU3OTQ1Mw==&mid=2247483785&idx=1&sn=81fb5a5f57dd119e9b61477db1f5d2a5&chksm=eb44dfdbdc3356cd140a01d4b36df683798442347709eed031ec25daf73d82869474f84e69e2&mpshare=1&scene=23&srcid=05240yGaBTSiJEEcEEzWRpyO#rd" rel="nofollow,noindex">5.Android性能优化(十)之App瘦身攻略</a></h2>    <p>如果你对App优化比较敏感,那么Apk安装包的大小就一定不会忽视。关于瘦身的原因,大概有以下几个方面:对于用户来说,在功能差别不大的前提下,更小的Apk大小意味更少的流量消耗,也意味着更多的用户下载.</p>    <h2><a href="https://zhuanlan.zhihu.com/p/27149377?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io" rel="nofollow,noindex">6.深入理解ConcurrentHashMap</a></h2>    <p>HashMap是我们平时很常用到的集合,但它是非线程安全的,解决方案有Hashtable和Collections.synchronizedMap(hashMap),然而这两种方式太过低效,所以Doug Lea为我们设计了既线程安全性能也相对优秀的ConcurrentHashMap类.下面我们一起学习.</p>    <h2><a href="/misc/goto?guid=4959749500268945099" rel="nofollow,noindex">7.Kotlin 函数与函数式编程</a></h2>    <p>如果你对Kotlin语法一无所知,推荐先阅读官方文档或者中文站,之后再看这篇文章会有更深刻的理解。本篇文章主要介绍Kotlin函数的用法,以及自己对函数式编程的一些理解。并且会和Python,C++做一些比较。</p>    <h2><a href="/misc/goto?guid=4959749500360408701" rel="nofollow,noindex">8.Android如何提高编程效率</a></h2>    <p>人类在起源和发展过程中,体形、使用工具和是否着衣这三个方面逐渐发生了变化:从半直立行走到直立行走;从不会使用工具,到使用天然工具,再到制造和使用简单工具,直到制造和使用包括电脑在内的各种复杂的现代工具。</p>    <h2><a href="/misc/goto?guid=4959749500459271862" rel="nofollow,noindex">9.ThreadPoolExecutor 线程池调度器</a></h2>    <p>核心线程数,核心线程会一直存活,即使没有任务需要处理。当线程数小于核心线程数时,即使现有的线程空闲,线程池也会优先创建新线程来处理任务,而不是直接交给现有的线程处理。核心线程在allowCoreThreadTimeout被设置为true时会超时退出,默认情况下不会退出。</p>    <h2><a href="https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513670&idx=1&sn=5972f3563cb9e4b574ad946c97dd6d54&chksm=80d67a85b7a1f39317259196e2203e6f6ab4eb5ac25e17eb304b67dc06cde18cb4e53339d3ca#rd" rel="nofollow,noindex">10.Kotlin初体验</a></h2>    <p>今天多个群都炸了锅,原因很简单: Google "招安"了Kotlin , 成为Android 平台的first-class 开发语言。据说在发布会上,这个消息的宣布获得台下最热烈的欢呼声。 这是为什么? 难道是因为Android开发者一直羡慕iOS有简单好用的Swift, 但是自己只能用“傻大笨粗” 的Java, 现在终于可以翻身了,Kotlin救世主降临了!</p>    <h2><a href="/misc/goto?guid=4959749500649458746" rel="nofollow,noindex">11.Handler源码分析</a></h2>    <p>关于线程之间发送消息,有很多种方法,如RunonUiThread,handler的post方法,AsyncTask ,view的post方法等等。大部分场景,都是可以通过handler传递一个message来实现的,现在我们具体看一下它是如何实现的。</p>    <p><strong>类库</strong></p>    <h2><a href="/misc/goto?guid=4959749500746104823" rel="nofollow,noindex">1.android-magic-surface-view</a></h2>    <p>一个使用openGL渲染的动画</p>    <h2><a href="/misc/goto?guid=4959749500839737821" rel="nofollow,noindex">2.Anti-recall</a></h2>    <p>模仿微信撤回功能</p>    <h2><a href="/misc/goto?guid=4959749500938674910" rel="nofollow,noindex">3.MaterialShadows</a></h2>    <p>一个阴影效果的类库</p>    <h2><a href="/misc/goto?guid=4959749501027448963" rel="nofollow,noindex">4.RotatingText</a></h2>    <p>一个滚动更新文字的TextView</p>    <h2><a href="/misc/goto?guid=4959749501125629216" rel="nofollow,noindex">5.ImmersionBar</a></h2>    <p>android 4.4以上沉浸式状态栏和沉浸式导航栏管理,一句代码轻松实现,以及对bar的其他设置</p>    <h2><a href="/misc/goto?guid=4959749501222678553" rel="nofollow,noindex">6.AccountBook</a></h2>    <p>一个数据存储使用的 Leancloud、架构采用 MVP 的记账本 APP。(目前正在不断完善中)</p>    <h2><a href="/misc/goto?guid=4959749501316798882" rel="nofollow,noindex">7.Sneaker</a></h2>    <p>一个轻量级的自定义警报库</p>    <h2><a href="/misc/goto?guid=4959749501415359192" rel="nofollow,noindex">8.Kotlin-Android-Template</a></h2>    <p>一个Kotlin MVP 架构模板</p>    <h2><a href="/misc/goto?guid=4959749501507355748" rel="nofollow,noindex">9.EasyTransition</a></h2>    <p>过度动画Shared Elements类库</p>    <h2><a href="/misc/goto?guid=4959749501598625589" rel="nofollow,noindex">10.swipe-button</a></h2>    <p>自定义的滑动按钮</p>    <h2><a href="/misc/goto?guid=4959749501709452585" rel="nofollow,noindex">11.InsLoadingAnimation</a></h2>    <p>加载动画</p>    <h2><a href="/misc/goto?guid=4959749501796679731" rel="nofollow,noindex">12.HorizontalScrollSelectedView</a></h2>    <p>横向滑动效果</p>    <h2><a href="/misc/goto?guid=4959749501896697010" rel="nofollow,noindex">13.OnePush</a></h2>    <p>OnePush一个可拓展的Android消息推送SDK,可同时集成多方推送,根据手机机型注册推送,从而保证推送的送达率</p>    <h2><a href="/misc/goto?guid=4959749501986478280" rel="nofollow,noindex">14.Dayu</a></h2>    <p>一款开源指纹识别工具。</p>    <p><strong>博外话</strong></p>    <h2><a href="/misc/goto?guid=4959749502073854378" rel="nofollow,noindex">1.Google 力挺 Kotlin,这是怎么回事!</a></h2>    <p>今年 Google I/O 2017 开发者大会中,Google 宣布正式把 Kotlin 纳入 Android 程序的官方一级开发语言(First-class language)。Kotlin 主要由俄罗斯团队 JetBrains 开发,能与 Java 互通,但拥有 Java 不支持的功能。</p>    <h2><a href="/misc/goto?guid=4959749502172450478" rel="nofollow,noindex">2.如何学习新技术</a></h2>    <p>我从 2009年~2010 年左右开始学习信息技术,从初期围绕单片机做电子设计,一路浅尝辄止,走马观花。什么语言都用过,在各种平台上都干过活,有用的没用的都学了一些,一路尝鲜一路丢。虽然有识之士们都说,光靠广度没法找到工作,要对一门手艺有深度,到达深奥幽玄的境界。</p>    <p> </p>    <p>来自:http://www.androidblog.cn/index.php/Index/detail/id/75</p>    <p> </p>