| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> context(Activity的Context和Application的Context) -> 正文阅读 |
|
[移动开发]context(Activity的Context和Application的Context) |
context(Activity的Context和Application的Context)一. Android系统的角度来理解:Context是一个场景,代表与操作系统的交互的一种过程。 从程序的角度上来理解:Context是个抽象类,而Activity、Service、Application等都是该类的一个实现。 二. XXXActivity.this与getApplicationContext的区别,前者是XXXActivity的对象,后者是项目的Application的实例。 三. 使用context时,注意内存泄漏,如果一个对象,长久的持有一个Context对象,比如下面 static A a = new A(context); 如果此context是Activity的对象,那么只要这个项目没有被关闭,则此Activity无法被回收掉,造成内存泄漏 可以使用context.getApplicationContext(),传入整个项目的context,就不会发生泄漏了 static A a = new A(context.getApplicationContext()); 四. 下图出自(http://blog.csdn.net/lmj623565791/article/details/40481055,出自:【张鸿洋的博客】) 可以看到Application不应该去拿来做UI的操作,应该使用Activity作为context来处理,其他的比如Service,Activity,Application等实例都可以使用。只是注意Activity容易出现内存泄露问题。 五.Context数量 Context一共有Application、Activity和Service三种类型:
上面的1代表着Application的数量,因为一个应用程序中可以有多个Activity和多个Service,但是只能有一个Application。 六.Android获取各种Context
|
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 20:38:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |