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