Android Studio USB 调试真机映射屏幕画面
在 Android 开发过程中,模拟器虽然方便,但很多真实场景(如相机、传感器、特定厂商 UI)必须用到真机测试。Android Studio 自带的 Device Mirroring(设备镜像) 功能,可以把已连接真机的屏幕实时投射到 IDE 中,无需额外投屏软件,开发和调试效率会高很多。 本文以…
在 Android 开发过程中,模拟器虽然方便,但很多真实场景(如相机、传感器、特定厂商 UI)必须用到真机测试。Android Studio 自带的 Device Mirroring(设备镜像) 功能,可以把已连接真机的屏幕实时投射到 IDE 中,无需额外投屏软件,开发和调试效率会高很多。 本文以…
Retrofit 是 Square 做的 Android / Java REST 客户端。写法简单,GET、POST、PUT、DELETE 等都用注解声明,比很多网络库更容易上手。 一、简介与三件套 一次请求通常拆成三块: 1. POJO / 模型 服务器 JSON 填进这类实例: public c…
应用开发总会碰到 UI、数据、业务逻辑。逻辑一复杂就要分框架。最早是 MVC,后来也用在 Android 上。MVP 可以看作 MVC 的升级:把 Activity 从「又当 View 又当 Controller」里拆出来。 一、概述:MVC 为什么会胖 MVC 架构 M : 业务层和模型层,相当与…
匿名内部类 Handler 是常见写法,却很容易把 Activity 钉死在主线程消息队列里。Lint 会警告:Handler classes should be static or leaks might occur. 一、介绍 先看这段很常见的代码: public class SampleAct…
《Android 开发工程师面试指南》由陶程整理、梁观全补充,覆盖 Android 基础与进阶、设计模式、Java / JVM / 并发、数据结构算法、网络操作系统,以及一线公司面试经验。下面按原目录完整保留各部分题目与链接。 《Android 开发工程师面试指南 LearningNotes 》,作…
完成一个下载任务只需要 4 行代码。断点续传、大文件、通知栏进度,都可以交给系统 DownloadManager(API 9 起就有),不必自己维护连接。 一、简单使用:四行入队 //创建下载任务,downloadUrl就是下载链接 DownloadManager.Request request =…
进餐馆还没打开 App,手机就弹出打折消息——坐标早就在库里,服务端匹配后再 Push 下来。问题不在 GPS,而在服务端怎么把消息实时送到客户端。 一、消息推送基础 消息推送,是在网上定期把用户需要的信息送过去,减少信息过载。它按兴趣搜索、过滤,再定期推给用户。移动应用跟服务器交互时,既要上传,也…
发生内存泄漏,先查再解。检查用 DDMS 里的 Heap,分析用 MAT;日常开发还可以接 LeakCanary,在 debug 包里把 dump 和路径算好。 一、内存泄漏的检查工具 Heap 工欲善其事必先利其器。Heap 用来大致判断有没有泄漏,MAT 用来分析泄漏发生在哪里。开发环境 DDM…
内存泄漏:对象已经不用了,却被别的对象还握着引用,内存收不回去。慢慢堆积最终 OOM。写代码时就要避开这类写法,提高健壮性。 一、静态变量 Java 里静态变量从类加载活到类卸载;Android 里就是进程活着它就在。进程不杀,静态变量不会被回收。若它强引用了某个 Activity 的对象,Acti…
内存泄漏很直白:该释放的对象没释放,一直被某个实例握着却不再使用,GC 收不走。先把 Java 的分配和回收讲清楚,下一篇再落到 Android 工具和对策。 最近读了大量相关资料,打算做个总结沉淀下来,也给自己一个警示:以后 coding 时怎么避开这些坑,提高应用体验和质量。会从 Java 内存…