百度 Android 开发程序员两轮面试之第一轮部分问题答案:
1、MVP 模式的优缺点?
MVP 模式优点:
- 降低耦合度
- 模块职责划分明显
- 利于测试驱动开发
- 代码复用
- 隐藏数据
- 代码灵活性
MVP模式缺点:
由于对视图的渲染放在了 Presenter 中,所以视图和 Presenter 的交互会过于频繁。还有一点需要明白,如果 Presenter 过多地渲染了视图,往往会使得它与特定的视图的联系过于紧密。一旦视图需要变更,那么 Presenter 也需要变更了
2、怎么让在启动一个 Activity 是就启动一个 service?
首先定义好一个 service,然后在 activity 的 onCreate 里面进行连接并 bindservice 或者直接 startService。
3、说说 Activity,Intent,Service 是什么关系 ?
一个 Activity 通常是一个单独的屏幕,每一个 Activity 都被实现为一个单独的类,这些类都是从 Activity 基类中继承来的,Activity 类会显示由视图控件组成的用户接口,并对视图控 件的事件做出响应。
- Intent 的调用是用来进行架构屏幕之间的切换的。
- Intent 是描述应用想要做什么。
- Intent 数据结构中两个最重要的部分是动作和动作 对应的数据,一个动作对应一个动作数据。
Android Service 是运行在后台的代码,不能与用户交互,可以运行在自己的进程,也可以 运行在其他应用程序进程的上下文里。需要通过某一个 Activity 或者其他 Context 对象来调 用。
Activity 跳转到 Activity,Activity 启动 Service,Service 打开 Activity。都需要 Intent 表明跳转 的意图,以及传递参数,Intent 是这些组件间信号传递的承载者。