Android面試總結

2021-06-29 04:10:20 字數 1722 閱讀 7750

1.intent如何傳遞物件?(bundle)

就目前所知道的有兩種方法,一種是bundle.put

serializable

(key,object);另一種是bundle.putparcelable(key, object);當然這些object是有一定的條件的,前者是實現了

serializable

介面,而後者是實現了parcelable介面。

1.在使用記憶體的時候,parcelable 模擬

serializable

效能高,所以推薦使用parcelable類。

2.serializable

在序列化的時候會產生大量的臨時變數,從而引起頻繁的gc。

3.parcelable不能使用在要將資料儲存在磁碟上的情況,因為parcelable不能很好的保證資料的持續性在外界有變化的情況下。儘管

serializable

效率低點, 也不提倡用,但在這種情況下,還是建議你用

serializable

。from 

intent intent = new intent(this,personview.class);

person mperson = new person();

mperson.setage(20);

mperson.setname("moon");

bundle bundle = new bundle();

bundle.putserializable("person", mperson);

intent.putextras(bundle);

startactivity(intent);

2.fragment之間如何傳遞資料?

翻了一下fragment的api,找到乙個方法就能實現像activity一樣便捷的實現引數傳遞,

可以使用bundle進行引數傳遞,這樣在兩個fragment跳轉的時候就可以帶上引數了,在另外乙個fragment獲取引數的方式只需要乙個語句string string = getarguments().getstring("key");  key是自己定義的乙個標識,引數的形式只要bundle能傳遞都可以實現。

這個原理好像是和activity是一樣的。我這裡傳遞的是乙個關鍵字,從乙個搜尋fragment頁面跳轉到兩外乙個結果查詢的fragment頁面,在跳轉的時候也可以加上一些動畫的跳轉效果。

3.listview的快取機制。

4.linelayout中的weight屬性

laytou_wieght的值越大,所佔的寬度是越小的,不過好像也不完全是成反比。

布局首先會給每個元素分配寬度,剩餘的空間再分配給每個元素。

在分配剩餘空間階段

,比例按照layout_weight,也就是越大分得越大。

在情況一裡,固定寬度為0,只有第二階段;情況二里,分配寬度能把所有空間分滿,剩餘的空間是負數,所以分配的越大,最終空間越小。

所以如果你要嚴格地讓它按照某種比例,可以試試定為0dp。此時各個元素的比例即為weight。

5.單例模式

6.android看如何避免輸入法彈出時遮擋住按鈕或輸入框?

在主配置檔案中為對應的activity新增android:windowsoftinputmode="adjustresize"。

"adjustresize" 該activity主視窗總是被調整螢幕的大小以便留出軟鍵盤的空間。

還有的我忘記了---面了乙個多小時。 (第一篇博文,加油,pony)

Android面試總結

面試中遇到的問題 http 1 listview的非同步載入 更好的系統 變數,監聽listview的滾動狀態,scroll state fling,scroll state idle scroll state touch scroll 比例壓縮,執行緒池控制oom,兩篇文章 2 listview ...

Android面試總結

最近一直在面試,總結一些常碰到的問題1.四大元件 1 activity 生命週期 oncreate onstart onresume onpause onstop ondestroy 啟動方式 a.stardard 同個任務棧新建不同例項 b.singletop 若當前例項處於棧頂,則直接呼叫 否則...

Android面試總結

近期我司招聘,我去面了一些android開發的哥們,以下由近期面試總結得出的體會,以技術面試60分鐘為基準,根據我去面試和面試別人的經驗,我把整個面試流程大概規劃為以下幾個部分 這裡就是簡歷上的基本資訊,基本上只要表達能清晰流利就可以了,噢,據小夥伴說有可能還要看一眼是不是 老鄉 雖然我完全不理解這...