- 相關(guān)推薦
android面試題(9)
(4)數(shù)字證書都是有有效期的,Android只是在應(yīng)用程序安裝的時候才會檢查證書的有效期。如果程序已經(jīng)安裝在系統(tǒng)中,即使證書過期也不會影響程序的正常功能。
58. 什么是ANR 如何避免它?
在Android上,如果你的應(yīng)用程序有一段時間響應(yīng)不夠靈敏,系統(tǒng)會向用戶顯示一個對話框,這個對話框稱作應(yīng)用程序無響應(yīng)(ANR:Application Not Responding)對話框。用戶可以選擇讓程序繼續(xù)運(yùn)行,但是,他們在使用你的應(yīng)用程序時,并不希望每次都要處理這個對話框。因此,在程序里對響應(yīng)性能的設(shè)計(jì)很重要,這樣,系統(tǒng)不會顯示ANR給用戶。
Activity 5秒 broadcast10秒
耗時的操作 worker thread里面完成, handler message…AsynTask , intentservice.等…
59. android中的動畫有哪幾類,它們的特點(diǎn)和區(qū)別是什么?
兩種,一種是Tween動畫、還有一種是Frame動畫。
Tween動畫,這種實(shí)現(xiàn)方式可以使視圖組件移動、放大、縮小以及產(chǎn)生透明度的變化;
可以通過布局文件,可以通過代碼
1、 控制View的動畫
a) alpha(AlphaAnimation)
漸變透明
b) scale(ScaleAnimation)
漸變尺寸伸縮
c) translate(TranslateAnimation)
畫面轉(zhuǎn)換、位置移動
d) rotate(RotateAnimation)
畫面轉(zhuǎn)移,旋轉(zhuǎn)動畫
2、 控制一個Layout里面子View的動畫效果
a) layoutAnimation(LayoutAnimationController)
b) gridAnimation(GridLayoutAnimationController)
另一種Frame動畫,傳統(tǒng)的動畫方法,通過順序的播放排列好的圖片來實(shí)現(xiàn),類似電影。
62. 說說mvc模式的原理,它在android中的運(yùn)用。
MVC英文即Model-View-Controller,即把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個應(yīng)用被分成三個層——模型層、視圖層、控制層。
Android中界面部分也采用了當(dāng)前比較流行的MVC框架,在Android中M就是應(yīng)用程序中二進(jìn)制的數(shù)據(jù),V就是用戶的界面。Android的界面直接采用XML文件保存的,界面開發(fā)變的很方便。在Android中C也是很簡單的,一個Activity可以有多個界面,只需要將視圖的ID傳遞到setContentView(),就指定了以哪個視圖模型顯示數(shù)據(jù)。
在Android SDK中的數(shù)據(jù)綁定,也都是采用了與MVC框架類似的方法來顯示數(shù)據(jù)。在控制層上將數(shù)據(jù)按照視圖模型的要求(也就是Android SDK中的Adapter)封裝就可以直接在視圖模型上顯示了,從而實(shí)現(xiàn)了數(shù)據(jù)綁定。比如顯示Cursor中所有數(shù)據(jù)的ListActivity,其視圖層就是一個ListView,將數(shù)據(jù)封裝為ListAdapter,并傳遞給ListView,數(shù)據(jù)就在ListView中顯示。
63. 通過點(diǎn)擊一個網(wǎng)頁上的url 就可以完成程序的自動安裝,描述下原理
Day11 AddJavascriptInterface
new Object{
callphone();
installapk();
}
64,Service和Activity在同一個線程嗎
默認(rèn)情況同一線程 main主線程 ui線程
65,java中的soft reference是個什么東西
StrongReference 是 Java 的默認(rèn)引用實(shí)現(xiàn), 它會盡可能長時間的存活于 JVM 內(nèi), 當(dāng)沒有任何對象指向它時 GC 執(zhí)行后將會被回收
SoftReference 會盡可能長的保留引用直到 JVM 內(nèi)存不足時才會被回收(虛擬機(jī)保證), 這一特性使得 SoftReference 非常適合緩存
應(yīng)用詳細(xì)見豆瓣客戶端圖片的緩存
66,udp連接和TCP的不同之處
tcp/滑動窗口協(xié)議. 擁塞控制.
udp 不關(guān)心數(shù)據(jù)是否達(dá)到,是否阻塞
畫面優(yōu)先. tcp
流暢優(yōu)先 udp
67, android開發(fā)中怎么去調(diào)試bug
邏輯錯誤
1.斷點(diǎn) debug
2. logcat ,
界面布局,顯示 hierarchyviewer.bat
68.service里面可以彈土司么
可以
69.寫10個簡單的linux命令
cat ls ps psw wc mv rm cd ping tracert find grep tail vi gcc make ifconfig
startup dhcp
70 JNI調(diào)用常用的兩個參數(shù)
JNIEnv *env, jobject javaThis
71. 書寫出android工程的目錄結(jié)構(gòu)
src
android. jar
asset
res
gen
manifest
72. ddms 和traceview的區(qū)別.
daivilk debug manager system
1.在應(yīng)用的主activity的onCreate方法中加入Debug.startMethodTracing("要生成的traceview文件的名字");
2.同樣在主activity的onStop方法中加入Debug.stopMethodTracing();
3.同時要在AndroidManifest.xml文件中配置權(quán)限
3.重新編譯,安裝,啟動服務(wù),測試完成取對應(yīng)的traceview文件(adb pull /sdcard/xxxx.trace)。
4.直接在命令行輸入traceview xxxxtrace,彈出traceview窗口,分析對應(yīng)的應(yīng)用即可。
traceview 分析程序執(zhí)行時間和效率
KPI : key performance information : 關(guān)鍵性能指標(biāo):
splash界面不能超過5秒
從splash 界面加載mainactivity 不能超過0.7秒
74. 利用mvc的模式重構(gòu)代碼
1) 重構(gòu)前的代碼Bmi.java:
package com.demo.android.bmi;
import java.text.DecimalFormat;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
【android面試題(9)】相關(guān)文章:
android面試題目09-08
Android工程師的面試題08-07
Android工程師面試題10-24
Microsoft面試題09-04
iOS面試題07-10
公司面試題09-12
hibernate面試題10-18
英語面試題精選06-13
小升初面試題06-10