Android 奇思妙想之 new Activity()
来源:互联网 发布:视觉检测软件免费 编辑:程序博客网 时间:2024/04/28 23:55
奇思妙想
接触Android 也有很久了,不知大家有没有想过Activity可以new吗?Android由java语言开发,Activity本质也是一个对象,new出来有什么问题呢?最近一直在想这个问题!
看了一些解释后才算明白,Android程序与java程序不一样,随随便便打写一个类,在main()方法里面就能运行。Android是基于组件化设计的,组件的运行需要一套完整的Android的环境的,在这个环境下Activity,Service才能运行,而这些组件不能以new的方式创建实例,它需要相应的上下文环境,也就是我们Context。可以说Context是这些Android组件运行的一个核心类。
Context
Context是什么,我们经常所说的上下文,我们可以理解为这个对象在程序中所处的一个环境,Context在我们获取View,获得系统服务,加载资源都要用到。
如果还觉得Context比较抽象,难以理解,我们可以打个比方:
把一个Androidc程序看作是一部电影,Android的Activity,Service等四大组件可以看作是电影的4大主演(4个大明星,表演功底很强),他们是剧组(系统)开始就定好了的,不是随随便便在大街上拉个人(new 对象)就能胜任的。然后他们拍摄电影,需要通过镜头(Context)才能向观众展示作品。 对于TextView,ImageView他们就好比配角或者群众演员,他们的作用就不是那么大,随便就可以找到(new)替代者,同样,虽然他们不起眼但是要需要在镜头下(Context)展示自己。
上面的比喻虽然不是很恰当,但是可以帮助理解!
0 0
- Android 奇思妙想之 new Activity()
- 奇思妙想之开篇
- 家有千金之奇思妙想
- 奇思妙想之蓝牙上网
- 奇思妙想废话连篇
- 奇思妙想(一)
- 链表-奇思妙想
- 奇思妙想<二>
- 奇思妙想
- 奇思妙想
- CSS 奇思妙想
- [android]奇思妙想之实用类ArgbEvaluator(渐变色效果)
- 奇思妙想之关于淘宝购衣
- 位运算的奇思妙想之i&(-i)
- 关于Android图片资源瘦身的奇思妙想
- 不仅仅是奇思妙想
- 奇思妙想位运算
- asp——奇思妙想 & 困惑
- 浪一波之后该是真正的亮剑了
- LeetCode - 303. Range Sum Query - Immutable
- 一些招聘公司的笔试编程题
- Spark textFile
- 初窥Linux 之 我最常用的20条命令
- Android 奇思妙想之 new Activity()
- iOS微信支付客户端无法跳转到微信或跳转到微信后,出现[确定]按钮,却无订单信息
- android 面试(基础篇 3)
- Dropout
- ARM Cortex-A Series Processors
- C#游戏开发之炸弹人游戏开发
- Android系统关机或重启的几种实现方式
- $(" ").value的意思
- PKU ACM/ICPC暑假训练班总结