Android面试
en24414115
这个作者很懒,什么都没留下…
展开
-
内存优化
内存优化(强软弱虚)一般内存泄漏(traditional memory leak)的原因是:当该对象的所有引用都已经释放了,对象仍未被释放。(译者注:Cursor忘记关闭等) 逻辑内存泄漏(logical memory leak)的原因是:当应用不再需要这个对象,当仍未释放该对象的所有引用。如果持有对象的强引用,垃圾回收器是无法在内存中回收这个对象。在Android中,导致潜在内存原创 2017-03-11 17:23:00 · 303 阅读 · 0 评论 -
Android面试500:007有使用过ContentProvider码?能说说Android为什么要设计ContentProvider这个组件吗?
ContentProvider应用程序间非常通用的共享数据的一种方式,也是Android官方推荐的方式。Android中许多系统应用都使用该方式实现数据共享,比如通讯录、短信等。但我遇到很多做Android开发的人都不怎么使用它,觉得直接读取数据库会更简单方便。那么Android搞一个内容提供者在数据和应用之间,只是为了装高大上,故弄玄虚?我认为其设计用意在于:封装。对数据进行封装,提供统一的接口...原创 2018-03-11 22:45:08 · 330 阅读 · 0 评论 -
Android面试500:006怎么理解Activity的生命周期?
如果一个Activity在用户可见时才处理某个广播,不可见时注销掉,那么应该在哪两个生命周期的回调方法去注册和注销BroadcastReceiver呢?Activity 的可见生命周期发生在 onStart调用与 onStop调用之间。在这段时间,用户可以在屏幕上看到 Activity 并与其交互。我们可以在 onStart中注册一个 BroadcastReceiver以监控影响 UI 的变化,并...原创 2018-03-11 22:19:54 · 161 阅读 · 0 评论 -
Android面试500:005用广播来更新UI界面好吗?
做为Android四大组件之一的,广播被很多人所熟知,可算是一种非常方便的解耦组件的手段。常用的方式是直接调用Context的接口(sendBroadcast & sendOrderBroadcast)发送两类型的广播:Normal broadcasts无序广播,会异步的发送给所有的Receiver,接收到广播的顺序是不确定的,有可能是同时。Ordered broadcasts有序广播,广...原创 2018-03-11 22:03:47 · 183 阅读 · 0 评论 -
Android面试500:004知道Service吗,它有几种启动方式?
Service是一个专门在后台处理长时间任务的Android组件,它没有UI。它有两种启动方式,startService和bindService。这两种启动方式的区别startService只是启动Service,启动它的组件(如Activity)和Service并没有关联,只有当Service调用stopSelf或者其他组件调用stopService服务才会终止。bindService方法启动S...原创 2018-03-11 21:55:00 · 212 阅读 · 0 评论 -
Android面试500:003Android中进程间通信有哪些实现方式?
Intent,Binder(AIDL),Messenger,BroadcastReceiver原创 2018-03-10 16:36:50 · 346 阅读 · 0 评论 -
Android面试500:002要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的?
①Item布局,层级越少越好,使用hierarchyview工具查看优化。 ②复用convertView ③使用ViewHolder ④item中有图片时,异步加载 ⑤快速滑动时,不加载图片 ⑥item中有图片时,应对图片进行适当压缩 ⑦实现数据的分页加载...原创 2018-03-10 16:33:30 · 275 阅读 · 0 评论 -
Android面试500,001自定义View的三种实现方式
(一)组合控件(二)自绘控件(三)继承控件原创 2018-03-10 14:44:46 · 952 阅读 · 0 评论 -
Android面试500:008android 4.4删除短信
android 4.4之后非默认的短信应用已经没有办法删除短信了。像以前那样用如下方法是不会没法删除短信的(即使在xml中配置了短信的读写权限),同时也不会有报错或其他提示。 public void deleteSMS() { try { ContentResolver CR = getContentResolver(); // Query...原创 2018-03-15 22:12:37 · 283 阅读 · 0 评论 -
Android开发性能优化总结(二)
一、安卓UI性能检测与优化UI是安卓应用程序与用户打交道的最直接途径,UI设计的好不好,直接影响到用户的体验,如果没有达到他们心目中的自然流畅细节,用户要是能够感觉出来,少则影响心情,多则卸载应用;所以一个应用的UI显示性能问题就不得不被开发人员重视。1.UI卡顿常见原因:在UI线程中做了耗时操作,导致UI线程卡顿;布局Layout过于复杂,转载 2017-03-13 22:40:12 · 821 阅读 · 0 评论 -
Android开发性能优化总结(一)
安卓开发应用首先要讲究良好的用户体验,如果一款软件卡顿现象严重,不流畅,经常崩溃,那么将给用户带来极不良好的体验,从而损失用户。 在实际开发和学习中,我总结了一下关于安卓性能的优化,供大家参考交流。应用程序的性能问题体现在很多方面, 比如第一次启动速度慢,或者进入某一界面速度慢;动画执行过程不流畅,或者动画执行卡顿时间长;ListView列表滑动过程中卡顿,不流畅;应用程序自定义的某特转载 2017-03-13 22:39:08 · 733 阅读 · 0 评论 -
《Android 开发工程师面试指南》
《Android 开发工程师面试指南 LearningNotes 》,作者是知乎Android开发工程师陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备面试的同学,也可以帮助正在学习和工作的同学梳理自己的知识点。有心的同学也可以帮他们不断完善。官方微博:优雅的程序员D第一部分:A转载 2017-03-11 20:26:34 · 421 阅读 · 0 评论 -
Android面试500:009android HttpURLConnection和HttpClient他们各自的优缺点是什么?
HttpUrlConnection 在 2.3 以前的版本是有 bug 的,所以之前的版本推荐使用 HttpClient,但是 google 现在已经不维护 HttpClient 了,5.1里面已经把 HttpClient 标过期。另外 HttpURLConnection 支持gzip压缩等,推荐首选它。 在 Froyo(2.2) 之前,HttpURLConnection 有个重大 Bug,调用 ...原创 2018-03-21 23:34:40 · 513 阅读 · 0 评论