## 什么是Activity?
Activity是android的四大組件中最常見的部分,是Android用于交互的部分。Activity有四種狀態:Active/Runing、Paused、Stoped、Killed。主要有七個生命周期方法。通過Intent與其他Activity或者組件通信。
## 請描述一下Activity生命周期。
Activitiy的生命周期方法主要有七個:
onCreate()、onRestart()、onStart()、onResume()、onPause()、onStop()、onDestory()。
## 兩個Activity之間跳轉時必然會執行的是哪幾個方法。
這個問題與 從A跳轉到B需要執行那些生命周期方法 的意思是相同的。分為兩種情況:
1. B不透明時,A執行除onDestory之外的全部方法,B執行到onResume方法;
2. B透明時,A執行到onPause方法,B執行到onResume方法。
## 橫豎屏切換時候Activity的生命周期。
## 如何將一個Activity設置成窗口的樣式。
在AndroidManifest.xml中在你需要顯示為窗口的activity中添加如果屬性:android:theme="@style/Theme.FloatActivity" 即可
## 你后臺的Activity被系統回收怎么辦?如果后臺的Activity由于某原因被系統回收可了,如何在被系統回收之前保存當前狀態?
onSaveInstanceState在這個方法中保存信息。在onCreate中判斷savedInstanceState是否為空,不為空就去出來。
## 如何退出Activity?如何安全退出已調用多個Activity的Application?
退出單個Activity調用finish()方法。
## 兩個Activity之間怎么傳遞數據?
可以通過Intent,Bundle或者SharedPreferences都可以傳遞數據。
## 怎么在啟動一個Activity時就啟動一個service?
在activity的onCreate里寫
startService(xxx);
然后
this.finish();結束自己..
這是最簡單的方法 可能會有屏幕一閃的現象,如果UI要求嚴格的話用AIDL把
根據service與activity的生命周期,選擇在onCreate或onResume中startService;當然要記得stopService.
## 同一個程序,但不同的Activity是否可以放在不同的Task任務棧中?
可以放在不同的Task中。需要為不同的activity設置不同的taskaffinity屬性,啟動activity的Intent需要包含FLAG_ACTIVITY_NEW_TASK標記
## Activity怎么和service綁定,怎么在activity中啟動自己對應的service?
startService()一旦被創建 調用著無關 沒法使用service里面的方法
bindService () 把service 與調用者綁定,如果調用者被銷毀, service會銷毀
bindService() 我們可以使用service 里面的方法
bindService(). 讓activity能夠訪問到service里面的方法
- 空白目錄
- 自我介紹
- Android面試題
- Handler
- 網絡請求框架
- 圖片處理框架Picasso,Glide
- Android最佳性能實踐OOM
- 異步:RxJava,AsyncTask
- View,ViewGroup事件分發
- 消息傳遞:EventBus
- HTTPS和HTTP的區別
- 進程間通信的方式
- HttpClient與HttpUrlConnection的區別
- 性能優化
- Java多線程
- Fragment狀態保持和恢復
- 講解一下Context
- JNI
- java虛擬機和Dalvik虛擬機的區別
- 線程sleep和wait有什么區別
- 保存Activity狀態
- WebView與js交互(調用哪些API)
- 內存泄露檢測,內存性能優化
- 布局優化
- 自定義view和動畫
- 設計模式(單例,工廠,觀察者。作用,使用場景)
- String,Stringbuffer,Stringbuilder 區別
- 開源框架,為什么使用,與別的有什么區別
- Android大廠面試題
- 愛奇藝
- 小米
- 騰訊
- 阿里
- 今日頭條
- 共同問到的
- 其他問題
- 框架MVC、MVP、MVVM
- sleep和wait有什么區別
- React Native原理
- React Native面試題
- 數據結構
- Android開發
- 基礎知識
- Java基礎
- 數據結構
- 面向對象思想
- 設計模式
- 開發環境
- Android SDK
- Activity
- Service
- Broadcastreceiver
- Contentprovider
- ActionBar
- Fragment
- UI
- 通信
- 數據持久化
- 性能
- 調試
- 適配
- 測試
- 安全
- NDK
- 手機功能
- 第三方擴展
- 其他
- 2018 Java面試題
- Android(2017-2018)BAT面試題整理
- 2017下半年,一二線互聯網公司Android面試題匯總
- 2018阿里Android面試題
- 一面
- 二面
- 三面