Android面试精华:Activity与Service详解

需积分: 50 48 下载量 111 浏览量 更新于2024-07-18 收藏 2.36MB PDF 举报
本资源是一份针对Android程序员面试的宝典,由传智播客武汉校区就业部出品,适合准备参加Android领域面试的人参考。内容覆盖了Android基础知识和关键知识点,旨在帮助求职者提升技能和应对面试。 **Android基础部分(★★)** 1. **Activity** - 活动(Activity)是Android应用程序的基本组件,它代表一个单独的用户界面屏幕。用户通常通过导航或触摸屏幕来与之交互。Activity有完整的生命周期管理,包括onCreate()、onStart()、onResume()等关键阶段,确保在打开、显示、暂停和销毁时执行相应的操作。 - **生命周期管理** - Activity的生命周期包括多个状态,如启动(onCreate)、可见(onStart)、可见且聚焦(onResume)、隐藏(onPause)、暂停(onStop)、销毁(onDestroy)等。理解这些阶段对控制资源、数据保存和用户体验至关重要。 - **状态保存** - Activity可以通过 onSaveInstanceState()和onRestoreInstanceState()方法保存和恢复状态,或者使用SharedPreferences、Bundle、ViewModel等机制。 - **Activity间跳转** - 跳转时会执行onSaveInstanceState()和onNewIntent()方法,确保数据传递和目标Activity的初始化。 - **横竖屏切换** - 当设备旋转时,Activity会经历不同的生命周期方法,比如onConfigurationChanged()用于处理布局调整。 - **窗口样式** - 可以通过setContentView()设置布局,以及setTheme()定制窗口主题,实现不同样式的Activity。 - **退出Activity** - 通常在finish()方法中结束当前Activity,而安全退出整个应用则涉及Application的onTerminate()或System.exit(),但推荐使用Application的finishAffinity()来优雅退出。 **Service** - **Service** 是Android中的后台运行服务,它可以在主线程外执行任务,如定时器、下载、位置跟踪等。Service有自己的生命周期,包括bindService()和startService()进行绑定和启动,以及onBind()、onStartCommand()等回调方法。 - **Service与Activity的交互** - Activity可以通过startService()启动Service,而Service可以通过Intent返回结果给Activity。Service可以与Activity通信,但它们通常在不同的进程中运行,不共享主线程。 - **IntentService** 是一种特殊的服务,它基于Intent实现,简化了服务的创建和管理,特别是那些只处理一个请求就结束的任务。 - **Activity、Intent、Service的关系** - 这三者是Android组件的核心。Activity用于展示用户界面,Intent用于传递数据和启动其他组件,Service用于执行独立于用户界面的任务。 这份面试宝典对于Android开发者来说是一个重要的复习工具,涵盖了Activity和Service的基础概念、生命周期管理、交互方式以及它们之间的关系,有助于提升面试者的技术理解和实战能力。同时,还提供了传智播客武汉校区的学习资源和支持渠道,方便求职者持续学习和交流。