技术标签: android
首先创建一个类 类名叫MyApplication 如下
class MyApplication : Application() {
companion object{
@SuppressLint("StaticFieldLeak")
lateinit var context: Context
}
override fun onCreate() {
super.onCreate()
context =applicationContext
}
}
现在我们来解释一下上面这块代码
我们让MyApplication继承Application类
然后在companion object中定义一个context变量,重写父类的onCreat()方法,然后调用getApplicationContext方法给context赋值,(代码中为kotlin的语法糖写法),这样我们就获得了静态的context变量,由于将Context设置为静态很容易产生内存泄漏 ,所以这个做法有风险,但是这里获取的Application中的Context,并不会出现像获取Activity或者server中的context一样由于生命周期的原因被回收,它在整个应用程序的生命周期内都不会被回收,所以不存在风险。所以我们需要告诉系统这里没有问题,所以这里添加了 @SuppressLint(“StaticFieldLeak”)注解。
上面的大概弄清楚之后,我们需要再做一件事,这个全局context才能使用,那就是初始化。
在AndroidManifest.xml中修改默认的Application为我们的MyApplication类,这样系统初始化时就会初始化MyApplication而不是Application。
<application
android:name=".MyApplication" //添加这一句
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
...
---------------------------------------------------------------------------------系统环境:Centos 6.5 开发板:s3c2440---------------------------------------------------------------------------------
POJ 2115 C Looooops (扩展欧几里德算法求模线性方程)
windows7问题集合 【windows7的任务栏不能添加快捷方式图标?】 解决方法:原因就是去除了快捷图标的小箭头的缘故,所以只需要将快捷方式的小箭头恢复就正常了! 恢复小箭头 需要修改注册表,具体如下: 1.启动注册表编辑器(开始--运行中输入regedit),然后依次展开如下支...
作者:李少侠链接:https://zhuanlan.zhihu.com/p/35303567Visual Studio Code(VS Code)近年来获得了爆炸式...
为什么80%的码农都做不了架构师?>>> ...
32、ILP64、LP64、LLP64、64位系统Data Type ILP32 ILP64 LP64 LLP64char 8 8 8 8short 16 16 16 16int 32 64 32 32lon
转自:http://hi.baidu.com/cpuramdisk/item/84a75b5e78007013da163535【yasi】关于Jav
ubuntu更新source.list源修改文件/etc/apt/sources.list后刷新列表sudo apt-get updatesudo apt-get upgradesudo apt-get install build-essential
1、开始运行2、停止运行3、准备单步运行4、先从延时程序delay_ls()中跳出,再单步执行。
通配符选择器用 * 号表示,它是所有选择器中作用范围最广的,能匹配页面中所有的元素。
原文地址:http://wenku.baidu.com/link?url=YcTL3KKshEXkSCOEiW46FnAEMO78sG44m0y0JtQQysSEXDYB2VUvflaP-_cqB2YsTzxk7-t2htYbUWCXFBbu_8-tfv6YDfDANmlMYXMsW4q
天天喝稀饭-pony的博客链接:http://www.conjee.com/blog/default.asp ...