
Android学习笔记:签名、插件化与任务管理
下载需积分: 50 | 4KB |
更新于2024-09-08
| 51 浏览量 | 举报
收藏
本篇Android学习笔记主要记录了在Android开发过程中遇到的一些关键知识点,包括Activity的工作模式、签名与插件化开发技术、以及调试工具的使用。首先,我们探讨了如何确保`singleTask`模式下Activity的行为一致性,即一个Activity实例在`taskAffinity`属性设置为相同的条件下,作为应用内的唯一代表。当用户启动一个新的Intent时,它将替换当前的任务栈顶Activity,而不是创建新的实例。
在Android应用生命周期管理中,特别强调了`Activity`的启动、暂停和销毁阶段的注意事项。例如,当应用程序在后台运行且不接受新Intent时,如果尝试启动新的Activity,系统可能会终止旧的Activity以节省资源,这时`onNewIntent()`方法会触发。同时,`destory()`方法会在Activity不再被用户交互后调用,确保内存的有效释放。
签名方面,提到使用`jarsigner`工具对Apk进行签名,如`jarsigner-verbose-keystore`命令用于验证已签名的`360Wallpaper.keystore-signed.jar`,而未签名的`Qihuunsign.apk`则需要通过`jarsigner`添加签名。这在发布应用时至关重要,确保数字签名的完整性和安全性。
此外,笔记还涉及到了SD卡文件操作,使用`file:///storage/emulated/0/test.html`和`file:///sdcard/test.html`这样的路径,以及数据绑定XML文件的处理,尤其是在处理中断操作时,指出`interrupt()`方法可能引发`InterruptedException`异常,这是因为它中断了线程的执行流程。
深入讨论了`sleep()`、`wait()`和`join()`这三个同步方法,解释了它们在执行过程中可能抛出`InterruptedException`的情况,特别是在多线程环境中。中断线程时,如果没有捕获这个异常,程序可能会抛出异常并停止执行,因此理解如何适当地处理这个异常是非常重要的。
最后,提到了在 Dex注入(动态代码加载)的过程中,`doDexInject()`方法在Context和一组已加载的Dex文件上下文中运行,这在某些高级开发场景,如插件化开发或者代码更新时可能会用到。
这篇Android学习笔记涵盖了一系列实用的开发技巧和注意事项,有助于开发者理解和掌握Android平台上的关键概念和技术细节。
相关推荐














xiaoming4766897
- 粉丝: 0
最新资源
- 掌握Express框架,Node.js实战Web开发
- ImageLabel Web版:高效在线图片标注工具使用指南
- DimXI:探索iOS 11兼容的CCSupport模块深度定制
- JRC: 支持DCC代理的开源IRC保镖
- 以太坊支持的0xDonate流媒体捐赠服务:完全去中心化
- Gatsby餐厅网站开发入门指南与实践
- 深入解析javasizer:测量Java对象内存占用的工具
- ThetaHacks-Virtual官网:2021年在线高中黑客马拉松
- Spring Boot与Proteus微服务集成示例教程
- JavaAndroid中实现前向保密的libsignal-protocol-java库
- Kim Jeongchul个人网站HTML技术展示
- iOS圆形进度条组件:实现与自定义文字显示
- JS实现英语文本与盲文双向转换指南
- 乳腺DCE-MRI图像预处理与机器学习分类Matlab工具
- Bounzor:灵活的开源TCP/UDP保镖工具
- 创建App Inventor开发环境的Dockerfile指南
- Basit-Khan875的GitHub个人页面技术解析
- 解决JavaScript数组去重问题:remove-duplicate-items-js-problem-nikita-94
- Xastir APRS客户端:开放源代码无线电追踪与通信
- Commonform.org:探索开放式法律形式资料库
- APVision: 开源的802.11接入点监控与管理工具
- Gopker: 简化Docker API操作的Go语言包装器
- Kolab Webclient:利用Horde框架与Kolab服务器的开源Web解决方案
- Cyborg开源仿真器:跨平台命令行处理的未来