【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

Android 开发周报:Android 相机开发、内存泄漏总结

  • 2016-02-02
  • 本文字数:2468 字

    阅读完需:约 8 分钟

新闻

  1. 《在 Google 看来应用商店都将消亡,而搜索永存》:智能手机用户每天都要和各种各样的 App 打交道,当然每天也要下载一定数量的 App。而目前来说,要下载 App,iOS 用户需要去 App Store,而 Android 用户则需要使用 Google Play 或是国内的应用商店。这似乎已经成为了理所当然的一件事。然而,根据国外媒体的报道,Google 目前正在测试一种新的下载 App 的方法,在未来,Android 用户也许不用再使用 Google Play 就可以直接下载 App 了。
  2. 《每 20 部 Android 手机就有 1 部被 root》:国外的研究人员研究结果表明:仅有 10% 的 Android 设备拥有预装“输入密码”设备加密的功能,这种情况会导致许多手机丢失或被偷之后陷入数据泄露的威胁境地。另外,每 3 部 Android 智能手机就有 1 部没有使用“输入密码”锁屏功能,这就让攻击者更容易访问设备了。而在 iPhone 中,仅有 5% 的用户没有启用这项功能。让情况变得更加糟糕的是,每 20 部 Android 手机中就有 1 部被 root,而 iPhone 的越狱比例只有 0.4%。

教程

  1. 《Android 相机开发那些坑》:Android 系统提供了两种使用手机相机资源实现拍摄功能的方法,一种是直接通过 Intent 调用系统相机组件,这种方法快速方便,适用于直接获得照片的场景,如上传相册,微博、朋友圈发照片等。另一种是使用相机 API 来定制自定义相机,这种方法适用于需要定制相机界面或者开发特殊相机功能的场景,如需要对照片做裁剪、滤镜处理,添加贴纸,表情,地点标签等。这篇文章总结了 Android 相机开发的相关知识、流程,以及容易遇到的坑,希望能帮助今后可能会接触 Android 相机开发的朋友快速上手,节省时间,少走弯路。
  2. 《Android Studio2.0 预览版之 Android 模拟器》:新 Android 模拟器的早期预览版现在可以试用了。作为 Android Studio 2.0 的一部分,除了用于测试的物理 Android 硬件外,最新版本的 Android 模拟器可帮助你针对各种屏幕尺寸和配置测试你的应用。此外,使用官方版 Android 模拟器可以让你使用最新版本的 Android 进行测试。在此基础上,新 Android 模拟器的两大优势包括:速度和性能、易用性和强大的用户界面。
  3. 《指定 App 是否位于前台判断》:有时候我们需要通过判断 App 是否运行在前台而进行一些 UI 处理。本文提供一个判断 App 是否处于前台的工具类, 拥有多达 5 种判断方法, 最后一种方法堪称 Android 黑科技, 既可以突破 Android5.0 以上的权限封锁, 获取任意前台 App 的包名, 又不需要权限。
  4. 《Android 内存泄漏总结》:内存管理的目的就是让我们在开发中怎么有效的避免应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。作者从 Java 内存泄漏的基础知识开始,并通过具体例子说明了 Android 引起内存泄漏的各种原因,以及如何利用工具分析了应用内存泄漏。
  5. 《Android 应用安全开发之源码安全》:Android Apk 很容易通过逆向工程进行反编译,从而是其代码完全暴露给攻击者,使 Apk 面临破解,软件逻辑修改,插入恶意代码,替换广告商 ID 等风险。本文从混淆保护、二次打包防护、SO 保护、资源文件保护、反调试技术、应用加固技术几方面介绍了如何保护 Apk。文中提到的技术非常实用,推荐大家大胆实践。
  6. 《Android 子线程真的不能更新 UI 吗?》:当一个程序第一次启动的时候,Android 会同时启动一个对应的主线程,这个主线程就是 UI 线程,也就是 ActivityThread。UI 线程主要负责处理与 UI 相关的事件,如用户的按键点击、用户触摸屏幕以及屏幕绘图等。系统不会为每个组件单独创建一个线程,在同一个进程里的 UI 组件都会在 UI 线程里实例化,系统对每一个组件的调用都从 UI 线程分发出去。所以,响应系统回调的方法永远都是在 UI 线程里运行。那么子线程真的不能更新 UI 吗?阅读文章,看看作者是如何回答该问题的。
  7. 《APK 瘦身实践》:Apk 瘦身应该是每一位 Android 工程师都会进行的一项工作。比如会开启 minifyEnabled、开启 shrinkResources、去除不相关的大型库、去除没有使用到的图片和代码。但即使这样,往往不能达到老板们的要求,所以我们需要进行深度的瘦身。本文介绍了几种减小 Apk 大小的技巧,相信对大家会有所帮助。
  8. 《Android M Launcher3 主流程源码浅析》:有些人可能觉得 Launcher 很高端,其实 Launcher 的实质也就是一个普通应用,它只是比普通应用多配置了 Category 的 android:name=“android.intent.category.HOME”属性而已。当 Android 开机启动成功以后框架层会尝试启动包含上面属性配置的 Activity,这样被启动的那个 Activity 就成了桌面。当我们按下设备的 Home 键时也会触发包含该属性的 Activity。只不过当系统中只存在一个包含该属性的应用时,无论开机还是 Home 键触发都只会自动启动默认的;当存在多个时无论哪种触发都会弹出选择框进行选择设置。本文是一篇介绍 Launcher3 源码的文章,简单的介绍了 Launcher3 的加载流程。

开源项目

  1. uCrop :uCrop 是一款漂亮又实用的图片裁剪库。
  2. SmoothCheckBox :这是一个自定义的 CheckBox,提供了动画支持,并且颜色、边框都可以配置,集成也很方便。SmoothCheckBox 比系统自带的 CheckBox 漂亮很多。
  3. blockcanary :BlockCanary 是一个 Android 平台的一个非侵入式的性能监控组件,应用只需要实现一个抽象类,提供一些该组件需要的上下文环境,就可以在平时使用应用的时候检测主线程上的各种卡慢问题,并通过组件提供的各种信息分析出原因并进行修复。
  4. SwipeStack :SwipeStack 实现了卡片堆积效果,支持手势滑动移除功能,效果很赞。

工具

  1. Androl4b :专为安卓测试、安全研究准备的一个虚拟机系统,里面集成了一系列 Android 应用程序评估测试所需的工具,可用于逆向工程和恶意软件分析。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2016-02-02 18:004593
用户头像

发布了 121 篇内容, 共 43.1 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

Allins 官网正式上线,铭文赛道进入 AMM 交易时代

西柚子

Allins 官网正式上线,铭文赛道进入 AMM 交易时代

小哈区块

Java之Javac、JIT、AOT之间的关系

百度搜索:蓝易云

Java Linux 云服务器 AOT javac

自动 FTP 客户端 Hitek Software AbleFTP激活最新版

mac大玩家j

文件传输软件 ftp工具

解读 $mash 通证 “Fair Launch” 规则,将公平发挥极致

EOSdreamer111

shopee虾皮商品详情数据接口(Shopee.item_get)丨shopee虾皮API接口

tbapi

shopee商品详情数据接口 shopee API 虾皮shopee详情数据接口 虾皮商品详情数据接口

2023年12月全国范围POI数据更新《POI数据更新系列》

Geek_f9782a

GIS POI 地理空间数据

互动大屏数字人系统源码的优势!

青否数字人

互动

极狐GitLab Helm Chart 已上线,玩转云原生极狐GitLab!

极狐GitLab

全国范围AOI数据2023年12月更新,共计超过234.5万个(AOI数据更新系列)

Geek_f9782a

调试技巧 | AI工程化部署

AIWeker

c AI AI工程化部署

Mac电脑自动化任务软件:Hitek Software Automize Enterprise激活最新版

胖墩儿不胖y

Mac软件 任务管理器 自动化任务管理工具

为什么要选择数字人系统源码?

青否数字人

数字人

支持向量机(SVM)是什么?

小齐写代码

Beyond the WiFi Edge: Analyzing the Network Differences of IPQ4019 and IPQ6018

wallysSK

元器件经验分享-晶体与晶振对比分析

华秋电子

供应链 元器件

2024了,我不想再用AOP收集业务操作日志了 | 京东云技术团队

京东科技开发者

文心一言 VS 讯飞星火 VS chatgpt (171)-- 算法导论13.2 4题

福大大架构师每日一题

福大大架构师每日一题

PCB设计必备:31条布线技巧

华秋电子

PCB设计 dfm

实施管家式运维:为企业打造 定制化IT支持体系

太乙闲人

Mycat分库分表实时同步到GreatSQL

GreatSQL

数据迁移 greatsql

【JAVA】AI医疗智能导诊系统源码

源码星辰

Java 源码 智能导诊

深入理解左倾红黑树 | 京东物流技术团队

京东科技开发者

跨周期,创未来!华秋喜获中国产业互联网十周年-杰出企业

华秋电子

产业互联网 产业链 产业生态

语音AI小夜灯项目

二哈侠

解读 $mash 通证 “Fair Launch” 规则,将公平发挥极致

股市老人

docker篇-重启策略+run容器常用参数

百度搜索:蓝易云

Docker 云计算 Linux 运维 云服务器

华秋获深圳市福田区2023年职工“五小”创新与质量技术成果竞赛二等奖

华秋电子

物联网 新能源

IPQ9574 and QCN9274: Explore the WiFi7 MLO feature Test with Wallys DR9274

wallyslilly

qcn9274 ipq9574

青否数字人系统制作短视频矩阵!

青否数字人

数字人

如何查找iPhone中所有的应用程序

雪奈椰子

Android开发周报:Android相机开发、内存泄漏总结_移动_郭亮_InfoQ精选文章