BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Android开发周报:内存泄漏检测、工程模板化实践

| 作者 郭亮 关注 18 他的粉丝 发布于 2016年8月17日. 估计阅读时间: 7 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

新闻

  1. 《谷歌将为Android Pay加入NFC芯片指引:告别难用》:电子支付在手机上越来越常见,除了二维码,NFC也同样是一种重要方式。此前,因为安卓手机设计千奇百怪,NFC芯片在安卓手机上的位置也不尽相同,有的在前,有的在后,导致用户在实际使用时很头疼。据AP对Android Pay最新版v1.5的代码分析发现,谷歌将加入NFC位置指引功能。目前收录了18款设备,包括Nexus、S7 Edge、Galaxy S5、 DROID Turbo 2、LG G4等。

  2. 《Google Play商店剥离Google+整合》:Google 又在另一个重要产品中剥离了 Google+ 整合:Google Play 商店移除了应用的 Google+ 投票和评论要求。Google Play 商店此前会显示你在 Google+ 上跟谁的用户对应用的评分和 +1,现在这两项功能从本周开始消失了。

  3. 《Google悄悄开发的全新操作系统 Fuchsia 被发现了!》:Google 正在悄悄的开发一款全新的操作系统,命名为Fuchsia。为什么 Google 要开发一个全新的OS和kernel?最有可能的原因是,Google希望Fuchsia有一天能代替Chrome OS和Android,但也许Google也会像三星对待Tizen OS一样对待Fuchsia。但也有可能只是谷歌的一次尝试。

教程

  1. 《小红书Android客户端技术演进之路》:小红书从最初1.0到现在目前4.7版本,历经两年,安装包从原先的5M发展到现在的17M,产品模块也从原先的只有社区模块发展到了具有社区和电商两个大模块。App包含社区、电商、支付、推送、直播、统计等各种功能和模块。本文详细介绍了小红书Android客户端两年来的技术演进之路。

  2. 《Chrome Custom Tabs最佳实践》:距离Google发布Chrome Custom Tabs已经一年,Twitter、Medium等国外App早已支持了这个功能,但遗憾的是国内App鲜有支持。这篇文章以官方开发文档示例源码为基础,加上自己的理解,希望能帮助读者快速掌握Chrome Custom Tabs的用法。

  3. 《ContentProvider简介》:Content Provider属于Android四大组件之一,相比较而言,它更侧重于共享数据。Android的数据存储方式有以下几种:Shared Preferences、网络存储、文件存储、数据库。但是一般情况下这些数据都是在单独一个应用中使用,数据和文件在不同应用程序之间的共享也比较复杂,而Content Provider则正好比较擅长这个,如果需要共享给其他应用,那么我们就可以通过Content Provider来实现了。

  4. 《利用Android Studio、MAT对Android进行内存泄漏检测》:Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的crash,甚至可能出现因内存不足而导致APP崩溃。Android的内存泄漏分析工具常用有Android Studio和基于eclipse的MAT(Memory Analyzer Tool)。通过两者配合,可以发挥出奇妙的效果。阅读文章,了解详细的操作方案。

  5. 《Android 上的安全音量》:当Android 设备插上耳机,为了避免音量过高伤害用户听力,会触发其“安全音量”(Safe Media Volume)机制,如果在未经用户确认允许使用大音量时,且这时设置音量newIndex超过其推荐阈值,却会发现毫无反应,播放的声音依然不会很大。那么需要如何解决该问题呢?本文给出了答案。

  6. 《网易Android工程模板化实践》:对于各个基础模块,网易团队封装成了SDK,如网络库、本地存储库、页面管理库、图片库等。使用内部的工程模板生成的初始工程,就已经包含了基础模块,产品团队的开发不需要再花费重复的时间做技术调研、选型、SDK封装集成等工作,而只需要关心自己的业务逻辑编写。这样产品团队只需1分钟就能得到自己的初始工程,并能马上投入业务逻辑开发,既能缩短开发周期,也能保证工程代码质量。本文为我们介绍了网易团队的模板化实践,从中我们能够学习到模板化的相关知识。

  7. 《Android开发之App启动时间统计》:作为Android开发者,想必多多少少要接触启动速度优化相关的事情,当用户越来越多,产品的功能也随着迭代越来越多,App逐渐变得臃肿是一件很常见的现象,甚至可以说是不可避免的现象,随之而来的工作就是优化App性能,其中最主要的一项就是启动速度优化。本文的主角并不是启动速度优化,而是启动时间统计。

开源项目

  1. Onboarding:这是一个效果非常赞的引导页。

  2. simplenote-android:simplenote是一款笔记应用,现在simplenote开放了各个端的源码,推荐大家下载代码学习研究。

  3. android-adDialog:这是一个简单且强大的广告活动弹窗控件,并且可以自定义多种场景。

  4. CameraFilter:这是一个实时相机滤镜实现,提供了多种滤镜效果。

工具

  1. DropZone:Tinypng就是一个在线图片压缩网站,它能在保证图片质量基本不变的情况下大幅减少图片的体积,它同时也提供了Developer API,DropZone就是基于该API开发的一个图片压缩插件。

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT