ITPub博客

首页 > 移动开发 > ANDROID > Android中Activity设计思想个人理解

Android中Activity设计思想个人理解

原创 ANDROID 作者:山有木xi 时间:2020-05-23 10:27:08 0 删除 编辑

android四大组件基本上是入门android所必须要学的,在入门阶段或许只需要真的这么运行,知道生命周期,当我们再深入时就会发现四大组件设计的精妙之处

Activity被android设计成一个独立的部件,并且因此淡化了进程的概念

android希望为用户提供这样的功能:由多个 Activity共同配合完成比较复杂的功能,这些 Activity可以来自不同的App

假设说一个功能需要四个Activity,第一个是来自你自己的APP第二个来自系统自带的APP中的 Activity,第三个是其他APP的 Activity,第四个是你自己的APP,而他们可以无缝使用

因为 Activity要被别人使用,所以在设计页面时,就不能只考虑仅仅满足展开的APP中的需求,而要把 Activity封装的很独立。这一点可以从 Activity的启动方式和数据传递来体现,按照Java编程的思路,假设我们要从一个 Activity传递数据到另外一个 Activity 应该用new一个实例,这样就可以在构造函数中传递参数,但是Android中并不被允许这样做,必须通过intent来启动,本质上是由系统来创建实例对象

再举个例子,传递数据如果不能使用构造方法,也可以使用静态变量来直接传递啊,但是在APP中 Activity也可以运行在不同的进程

android要求 Activity封装独立,除了满足这种重用性,还有一个原因就是节省内存,既然 Activity是功能封闭的,那额android系统就可以随时杀死看不到的 Activity来释放内存,等到需要哪些 Activity时,重新创建就行,比如说当我们从A到B再到C再到D时发现内存不足,系统就可以杀死ABC三个 Activity,等我们需要回到C时,再创建C,这样对用户来说其实没有区别,而对于android系统来说则可以节省很大的内存

但是这样就没有缺点了吗?

其实也是有的,比如说

为了功能封闭需要更多的逻辑和代码

使 android的 Activity代码臃肿占用更多的内存和cpu

切换时每次只要被杀死进程,重新创建就要执行大量的代码,尤其是恢复数据时,容易造成界面反应慢、卡

现在的android手机其实性能和内存算是有过剩的,但是相比于iOS和windowphone,android手机还是相对较慢的

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69917874/viewspace-2693888/,如需转载,请注明出处,否则将追究法律责任。

全部评论
Oracle OCA(Java),IBM高级工程师认证,中国软件行业人才(高级c语言),高级Android工程师,对数据库并发与性能调优也有一定了解

注册时间:2019-04-25

  • 博文量
    83
  • 访问量
    236311