为什么我们需要Intent来过渡到新的Activity/Service?

blo*_*ala 0 android android-intent android-activity

我在接受采访时被问到以下问题:

为什么我们需要Intents来开始新的活动或服务?或者,为什么我们不通过创建新对象并调用activity_obj.onCreate(..)来启动Activity; 在上面.

我可以计算一些意图的好处,比如转移数据和针对适当活动的意图过滤器,但除了我无法得出令人满意的答案.

它与活动的生命周期回调处理有关吗?

roa*_*ter 5

Android启动活动的方式是通过Zygotes和大量的Java配置.如果我们要完成配置和启动活动的所有脏工作,我觉得这将是一个很大的热点.通过这种方式,我们可以制作"系统调用",只需将其移交给Android,并要求它做一些事情.

从安全角度来看,这也意味着每个Activity都是由Android启动的.这意味着你无法启动Whatsapp,共享一些文本,并且因为你启动它而对它有完全的根控制权.这非常有用,如果需要通过在同一进程中进行通信,Android甚至可以为您提供与自己的活动进行交互的方法.这种沙盒方法是帮助平台安全的元素之一.