必看Android 500道高薪面试题集 联系客服

发布时间 : 星期五 文章必看Android 500道高薪面试题集更新完毕开始阅读b71989bdbe23482fb5da4cad

1. 2. 3. 4. 5. 6. 7. 8. 9.

@RemotableViewMethod

publicvoid setBackgroundResource(int resid) { if (resid != 0&& resid == mBackgroundResource) { return; }

Drawable d= null; if (resid != 0) {

d = mResources.getDrawable(resid); }

10. setBackground(d);

11. mBackgroundResource = resid; 12. }

13. 上面使用资源文件设置背景颜色 14. @RemotableViewMethod

15. publicvoid setBackgroundColor(int color) { 16. if (mBackground instanceof ColorDrawable) { 17. ((ColorDrawable) mBackground).setColor(color); 18. } else {

19. setBackground(new ColorDrawable(color)); 20. } 21. }

22. 上面是使用16进制数设置背景颜色,

85. getView()方法中判断position的奇偶性, 然后给ConvertView设置背景色 86. EditText单行显示

a) 有属性 android:singleLine

多个输入框,点击Enter,焦点切换到下一个: EditText有属性android:imeOptions 输入法输入文本都有下划线

b) 自定义组件,实现onDraw方法

87. oom避免以及产生方式,遇到过几种OOM

图片和数据库,不要过多加载图片,记得回收 五大存储哪个容易报OOM,如何处理 oom情况遇到过么,怎么处理的

图片压缩后会出现什么问题?图片混乱

88. throw与throws区别

throws是用来声明一个方法可能抛出的所有异常信息 throw则是指抛出的一个具体的异常类型。

通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。

throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法; throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常

23

信息抛

89. LOST.DIR

LOST.DIR是专门收集Android系统运行时意外丢失的文件而设置的文件夹,其收集的内容包括系统因为意外而没能保存的各类内存、交换、暂存等数据,软件的缓存数据、以及其他各类文件。只要系统发生意外(如软件突然无法正常运行),便会将发生意外的文件移到此目录下,以数字序列名称代替该文件的扩展名。注意:由于LOST.DIR文件夹的特殊作用,里面的文件都是“意外而生”,因此可以删除里面的文件,但请不要删除LOST.DIR文件夹。

90. 设置界面怎么做的 91. ui效果图介绍布局 92. login模块怎么做的

93. 点击登录按钮的时候,会从server端获得什么?传送什么 94. android客户端如何实现自动登录

95. 版本更新,从server端获得什么,通过什么进行更新 96. Fragment和Activity之间的联系

97. Fragment如何实现Activity跳转,你怎么处理Fragment之间的信息交互 98. fragment在哪个方法里实现代码

99. res和assets资源文件的作用分别是什么,怎么读取 100. 了解pad开发吗

101. 常用的适配有哪些,如何进行优化 102. 应用换肤有什么方案可以实现

103. 异步任务中允许有多个线程同时进行吗 104. 图片是怎么获取的 105. 文件的下载 106. 图片的下载

107. 缓存区的图片如何适当的释放 108. 图片缓存到哪里

109. 那你的图片是如何请求的 110. 图文混排怎么实现 111. 相册缩略图是怎么实现的

112. 下拉刷新的实现思路,反弹的效果是怎么实现的 113. 自定义的View

114. 自定义控件用过哪些?对自定义控件是怎么看的 115. 瀑布流的实现思路 116. 聊天窗口的实现

117. android的dvm和Linux进程是一样的吗 118. 监听模式 119. 如何刷新view 120. Listview

如果一个屏幕可以显示20条数据,但服务器只有4条数据,他创建了几个item

121. viewPager左右切屏

viewPager左右切屏的时候和listview上下拖动会不会发生冲突,如果会是怎么解决的 ViewPager有几个子View

122. listview加载图片错位,什么原因导致的 123. ListView中条目中显示webView会怎么样

24

124. 用listview进行快速翻页,如何解决内存溢出 125. listview快速滑动时,加载几条数据 126. 实现listview分页

页面下端有左右两个button(分别是上页,下页);

要求:实现两页分页效果就ok,在第一页时,button上页不能点击, 在第二页时,button下页不能点击;

127. 动画分为哪几种,各自的特点和区别

128. 写出Socket服务器与客户端交互的代码和实现思路 129. 谈谈对Http的理解

它的优点,缺点都有哪些;访问网络的方式,请求头,服务器是如何响应的;

130. 谈谈递归

131. 写出Activity里的方法都是在什么情况下执行 132. dp与sp的区别

dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。

133. java有那些排序,冒泡代码

for(inti=0;ii;j--){ if(num[j-1]>num[j]){ temp=num[j-1]; num[j-1]=num[j]; num[j]=temp; } }

134. Java线程实现方式和区别

继承Thread,实现runable接口。

区别:避免点继承的局限,一个类可以继承多个接口。 ?适合于资源的共享

详细出处参考:http://www.jb51.net/article/37465.htm 135. Android中布局、区别、应用场景

FrameLayout,LinearLayout,TableLayout,RelativeLayout,AbsoluteLayout

136. 线程间通讯

Handler

137. 进程间通讯

Intent等

138. 判断网络 139. 网络代理

25

140. HTTP的post和get方法的区别 141. 怎么判断服务端返回的数据类型 142. 栈,队列代码 143. 服务service

144. 多线程下载,离线下载 145. 支付方式

146. 如果想改变分辨率但不动原来布局,实现思路是什么

使用dimen进行更改数据,进行配置

147. java常用的处理异常的机制,原理及应用 148. 一段字符串“abdecffr”,请输出只出现一次的字母 149. 输入一个数,求其二进数中有多少个1 150. 有一个pizza生产线

有一个pizza生产线:开了两家pizza店,其中一家的pizza为奶酪口味,另一家三文鱼口味,现在又要添一家店,是黑椒香肠味,请用简单的类图描述以上情形,满足不同地区,不同店的pizza供应,保证好的扩展性和低耦合性,添第三家时UML何如修改?

151. 推送了解吗?推送底层代码掌握吗 152. asynctack原理 153. NDK具体说一下

154. Service结合代码说一下,原理

155. 当内存不足时,如何对尚未关闭的应用程序进行回收 156. service的运行级别

157. service如何一直保持在后台运行 158. service的启动方式

159. 软引用怎么用?为什么要用软引用

http://www.cnblogs.com/blogoflee/archive/2012/03/22/2411124.html

1)强引用

平时我们编程的时候例如:Object object=new Object();那object就是一个强引用了。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。 2)软引用(SoftReference)

如果一个对象只具有软引用,那就类似于可有可物的生活用品。如果内存空间足够,垃圾回收器就不会回收它,如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。 3)弱引用(WeakReference) 如果一个对象只具有弱引用,那就类似于可有可物的生活用品。弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。 4)虚引用(PhantomReference)

26