Android博客周刊第58期

ichigouuz 4年前
   <p><strong>新闻</strong></p>    <h2><a href="/misc/goto?guid=4959742621729303034" rel="nofollow,noindex">1.Google开源新算法,可将JPEG文件缩小35%</a></h2>    <p>一图胜千言。Web与过去冷冰冰的互联网最大的区别就在于多了丰富的图片。而web上面最流行的静态图片格式非JPEG莫属。JPEG文件的多寡往往会影响页面的加载速度。为此,Google开发了一种新的JPEG算法</p>    <h2><a href="/misc/goto?guid=4959742517728435088" rel="nofollow,noindex">2.Android 8.0首波新特性曝光:UI、续航体验飙升</a></h2>    <p>今年的谷歌I/O大会定在5月17日到19日,外界普遍预计Android O(暂称为安卓8.0)届时将首次亮相,或许还有Pixel 2代手机。现在,9to5Google整理了线人偷跑的Android O部分特性</p>    <h2><a href="/misc/goto?guid=4959002520256690509" rel="nofollow,noindex">3.谷歌或将在4月3日正式推送Android 7.1.2 Nougat</a></h2>    <p>据Android Central报道,谷歌或将在4月3日向支持的Nexus和Pixel设备推送Android 7.1.2 Nougat版本。消息源称,据悉加拿大通信运营商Rogers 计划于该日向Pixel设备用户推送VoLTE高清通话功能</p>    <p><strong>国外博客</strong></p>    <h2><a href="/misc/goto?guid=4959742220679894300" rel="nofollow,noindex">1. From design to Android</a></h2>    <p>This will be a series of posts by Saúl Molinero that explains the process to develop an app from the scratch. In this post you'll learn a lot on how to master the ConstraintLayout.</p>    <h2><a href="/misc/goto?guid=4959742621905793242" rel="nofollow,noindex">2.Android: Card View</a></h2>    <p>A card is a sheet of material that serves as an entry point to more detailed information. Cards may contain a photo, text, and a link about a single subject. They may display content containing elements of varying size, such as photos with captions of variable length.</p>    <h2><a href="/misc/goto?guid=4959742621990816145" rel="nofollow,noindex">3.Android Data Binding</a></h2>    <p>Data binding is a hot buzz word among Android developer quite recently. And why not? Because one thing I know about Data binding is that it gonna make us an offer that we can’t refuse.</p>    <h2><a href="/misc/goto?guid=4959742220861425272" rel="nofollow,noindex">4. Things I wish I knew when I started building Android SDK/Libraries</a></h2>    <p>Things I wish I knew when I started building Android SDK/Libraries (android.jlelse.eu) In this post by Nishant Srivastava you'll learn about the ups, downs and troubles when writing a library.</p>    <h2><a href="/misc/goto?guid=4959742221035923122" rel="nofollow,noindex">5. Reducing networking footprint with OkHttp, Etags and If-Modified-Since</a></h2>    <p>In this post you'll learn how two reduce your networking footprint by leveraging Etags and If-Modified-Since. You'll also see how to do that with the OkHttp library.</p>    <p><strong>国内博客</strong></p>    <h2><a href="/misc/goto?guid=4959742622131593157" rel="nofollow,noindex">1.在对象dealloc的后期执行Task-开源库TTGDeallocTaskHelper</a></h2>    <p>最近更新了下以前写的TTGDeallocTaskHelper库,功能非常简单,就是在不改变原有代码的情况下,不用Runtime的Method Swizzling给任意对象添加任务Block,在对象dealloc的后期执行Block。</p>    <h2><a href="/misc/goto?guid=4959742518423397382" rel="nofollow,noindex">2.美团点评移动网络优化实践</a></h2>    <p>网络优化对于App产品的用户体验至关重要,与公司的运营和营收息息相关。这里列举两个公开的数据: “页面加载超过3秒,57%的用户会离开。” “Amazon页面加载延长1秒,一年就会减少16亿美金营收。” 在做网络优化前,我们首先要为网络通信质量设立一个标尺。</p>    <h2><a href="/misc/goto?guid=4959742622247853353" rel="nofollow,noindex">3.Android IPC 机制</a></h2>    <p>其中项目中包括Service生命周期的部分不在本文 讨论范围之内,并且只演示了使用Binder进行进程间通讯,其他方式比较简单。 IPC:Inter-Process Communication,意为进程间通讯。思考一下什么是线程,什么是进程,线程间通讯是怎么完成的,需要注意什么?</p>    <h2><a href="/misc/goto?guid=4959742622328357260" rel="nofollow,noindex">4.深入了解Java之垃圾回收</a></h2>    <p>上篇文章介绍了Java内存运行时数据区的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多考虑回收的问题.</p>    <h2><a href="https://mp.weixin.qq.com/s?__biz=MzI3OTU3OTQ1Mw==&mid=2247483753&idx=1&sn=8b25e2915c72aacdf2e1cfa38aa1cb87&chksm=eb44df3bdc33562d7784753776ba820361d71228b0081e66661c6070008c0038bbabf0558ab8&mpshare=1&scene=23&srcid=0316pLW7Dlj2Y0bHTIUNHY2D%23rd" rel="nofollow,noindex">5.Android性能优化(五)之细说Bitmap</a></h2>    <p>例如:使用Pixel手机拍摄4048x3036像素(1200W)的照片,如果按ARGB_8888来显示的话,需要48MB的内存空间(4048*3036*4 bytes),这么大的内存消耗极易引发OOM。本篇文章就来说一说这个大胖子。</p>    <h2><a href="/misc/goto?guid=4959742622497622645" rel="nofollow,noindex">6.Android APP启动优化</a></h2>    <p>可能你也发现了,点击桌面图标,有时候出现一个白屏,然后才进入主界面,这是因为从桌面点击APP图标启动应用开始,程序会显示一个启动窗口等待Activity的创建加载完毕再进行显示。 来看一下Google官方文档《Launch-Time Performance》对应用启动方式的概述</p>    <h2><a href="/misc/goto?guid=4959742622576929840" rel="nofollow,noindex">7. Android应用优化小手册</a></h2>    <p>对我们技术从业者而言,很多时候时候不是我们不知道怎么做,而是不知道做什么?今天系统的总结自己关于如何对Android应用进行优化的一些经验,共计八个维度.Android系统每个16ms发出VSYNC信号,触发对UI的渲染,要想达到界面流畅,必须实现60fps,也就意味着大多数的操作必须在16ms完成.</p>    <h2><a href="/misc/goto?guid=4959742622664291013" rel="nofollow,noindex">8.理解Android Binder机制(3/3):Java层</a></h2>    <p>本文是Android Binder机制解析的第三篇,也是最后一篇文章。本文会讲解Binder Framework Java部分的逻辑。 Binder机制分析的前面两篇文章,请移步这里: 理解Android Binder机制(1/3):驱动篇 理解Android Binder机制(2/3):C++层):驱动篇</p>    <h2><a href="/misc/goto?guid=4959742518508930290" rel="nofollow,noindex">9.理解JobScheduler机制</a></h2>    <p>对于满足网络、电量、时间等一定预定条件而触发的任务,那么jobScheduler便是绝佳选择。JobScheduler主要用于在未来某个时间下满足一定条件时触发执行某项任务的情况,那么可以创建一个JobService的子类,重写其onStartJob()方法来实现这个功能。</p>    <p><strong>类库</strong></p>    <h2><a href="/misc/goto?guid=4959718466889846954" rel="nofollow,noindex">1.AndroidPerformanceMonitor</a></h2>    <p>一款检测UI卡顿的类库</p>    <h2><a href="/misc/goto?guid=4959742622810437663" rel="nofollow,noindex">2.HoldingButton</a></h2>    <p>一个按住按钮滑动,常用于录音</p>    <h2><a href="/misc/goto?guid=4959742194056611301" rel="nofollow,noindex">3.Robust</a></h2>    <p>美团热修复框架</p>    <h2><a href="/misc/goto?guid=4959724450075858054" rel="nofollow,noindex">4.PiracyChecker</a></h2>    <p>APP加固防盗</p>    <h2><a href="/misc/goto?guid=4959742622950838822" rel="nofollow,noindex">5.fancyDialog</a></h2>    <p>一款好看的dialog</p>    <h2><a href="/misc/goto?guid=4959742518672337352" rel="nofollow,noindex">6.FancyShowCaseView</a></h2>    <p>An easy-to-use customisable show case view with circular reveal animation.</p>    <h2><a href="/misc/goto?guid=4959740672852875561" rel="nofollow,noindex">7.AutoplayVideos</a></h2>    <p>列表滑动播放</p>    <h2><a href="/misc/goto?guid=4959742623103070086" rel="nofollow,noindex">8.AndroidTensorFlowMNISTExample</a></h2>    <p>一款Android 端机器学习的demo</p>    <h2><a href="/misc/goto?guid=4959742623186403020" rel="nofollow,noindex">9.CoordinatortablayoutDemo</a></h2>    <p>完全依靠官方自带的CoordinatorLayout实现的</p>    <p><strong>面试题</strong></p>    <h2><a href="/misc/goto?guid=4959742623267311513" rel="nofollow,noindex">1.软件工程技术面试个人指南。</a></h2>    <p>链表即是由节点(Node)组成的线性集合,每个节点可以利用指针指向其他节点。它是一种包含了多个节点的、能够用于表示序列的数据结构。 单向链表: 链表中的节点仅指向下一个节点,并且最后一个节点指向空。</p>    <h2><a href="/misc/goto?guid=4959742623343725317" rel="nofollow,noindex">2.2017年阿里内推一面面经</a></h2>    <p>在3月1号投完简历,做好测评以后,我是一直等啊等,始终期待着一面的到来。 好不容易在3月8号这天中午12点10左右接到了来自阿里的面试电话。 刚开始,我是一脸的懵逼啊,面试官问我:“你是不是面过了???”我是一脸黑脸问号.jpg。Excuse me?在我一番解释后,终于进入了正题。</p>    <h2><a href="/misc/goto?guid=4959742623425302401" rel="nofollow,noindex">3.android阿里面试题锦集</a></h2>    <p>前几天突然就经历了阿里android实习内推的电面,感觉有好多以前看过的东西都忘记了,然后又复习了一下,找了很多阿里的面经总结了一下,希望对大家有帮助,下面的知识点大多出自 android开发艺术探索,而且很多都是我自己的总结,方便自己记忆,如果想深入可以去看看这本书。</p>    <p><strong>博外话</strong></p>    <h2><a href="/misc/goto?guid=4959742623501987929" rel="nofollow,noindex">1.只需十四步:从零开始掌握Python机器学习(附资源)</a></h2>    <p>Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源。你现在也在考虑从 Python 入门机器学习吗?本教程或许能帮你成功上手,从 0 到 1 掌握 Python 机器学习,至于后面再从 1 到 100 变成机器学习专家,就要看你自己的努力了。</p>    <h2><a href="https://mp.weixin.qq.com/s?__biz=MzI2OTQxMTM4OQ==&mid=2247484698&idx=1&sn=d16d134f9c840adbfeb34c97b54cd93b&chksm=eae1f048dd96795eabf2be7f6fbf3a0ae7648dd3b3fccdc638123a6d376d9991cdb51847a0cc#rd" rel="nofollow,noindex">2.年近30,我的职业回顾与思考</a></h2>    <p>我是一名普通的二本院校毕业的学生,专业是电子信息工程,毕业时间是2012年。得益于大学时代对电子信息技术的极大兴趣,外加自己足够的付出,大学期间获得了全国大学生电子设计大赛一等奖,飞思卡尔的全国二等奖,当时有同学告诉我有这个奖项将来工作就不愁了,可那时心里从来没有把得奖与工作建立起关系。</p>    <p> </p>    <p>来自:http://www.androidblog.cn/index.php/Index/detail/id/67</p>    <p> </p>