Context
2016-12-01 22:49:19 2 举报
AI智能生成
Android中Context类情况说明。
作者其他创作
大纲/内容
是什么?
官方术语
Interface to global information about an application environment
通俗说明
如果一个Android APP是一部电影,那四大组件就是四个主演,其余组件就是配角,而Context就是摄像机。一部电影所有的场景录制离不开摄像机,一个APP中所有的交互离不开Context
类结构情况
Application、Service、Activity都是Context的子类
怎么用?
获取
View.getContext
Activity.getApplicationContext
ContextWrapper.getBaseContext
Activity.this
应用
获取资源
获取系统服务
启动Activity
启动Service
发送广播
弹出Toast
操作数据库
......
有坑危险
内存泄露
错误使用单例模式
public
class
Singleton {
private
static
Singleton instance;
private
Context mContext;
private
Singleton(Context context) {
this
.mContext = context;
}
public
static
Singleton getInstance(Context context) {
if
(instance ==
null
) {
instance =
new
Singleton(context);
}
return
instance;
}
}
错误使用静态局部变量
public
class
MainActivity
extends
Activity {
private
static
Drawable mDrawable;
@Override
protected
void
onCreate(Bundle saveInstanceState) {
super
.onCreate(saveInstanceState);
setContentView(R.layout.activity_main);
ImageView iv =
new
ImageView(
this
);
mDrawable = getResources().getDrawable(R.drawable.ic_launcher);
iv.setImageDrawable(mDrawable);
}
}
0 条评论
下一页