美文网首页
整理的一些安卓开发基础

整理的一些安卓开发基础

作者: 卖梦为生_若愚 | 来源:发表于2017-06-22 14:39 被阅读0次

1、事件分发机制

http://blog.csdn.net/pi9nc/article/details/9281829

2、handler机制

http://blog.csdn.net/stonecao/article/details/6417364

3、屏幕适配

http://blog.csdn.net/lmj623565791/article/details/45460089

4、Activity生命周期:onrestart之后是ontart然后是onResume

5、支付宝sdk接入、RSA加密。微信支付http://blog.csdn.net/a1014474011/article/details/46817661

6、地图SDK的使用

7、加载图片会发生OOM怎么解决

http://blog.csdn.net/yyj984551002/article/details/9628219

2,使用内存缓存技术LRUCache。

内存缓存技术对那些大量占用应用程序宝贵内存的图片提供了快速访问的方法。其中最核心的类是LruCache (此类在android-support-v4的包中提供) 。这个类非常适合用来缓存图片,它的主要算法原理是把最近使用的对象用强引用存储在 LinkedHashMap 中,并且把最近最少使用的对象在缓存值达到预设定值之前从内存中移除。

8、内存泄露和内存溢出的区别?

泄露是申请的内存无法释放,你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。

1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。

2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。

3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。

4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。

9、Android 系统中 GC什么情况下会出现内存泄露呢?

出现情况:

1. 数据库的cursor 没有关闭

2.构造adapter 时,没有使用缓存 contentview 衍生listview 的优化问题-----减少创建 view的对象,充分使用 contentview,可以使用一静 态类来优化处理getview的过程

3.Bitmap 对象不使用时采用recycle()释放内存

4.activity中的对象的生命周期大于activity

调试方法: DDMS==> HEAPSZIE==>dataobject==>[Total Size]

10、安卓的安全、加密

11、AIDL

12、谈谈 android android android android数据存储方式。

Android提供了5种方式存储数据:

(1)使用 SharedPreferences存储数据;它是 Android提供的用来存储一些简单配置信

息的一种机制,采用了XML格式将数据存储到设备中。只能在同一个包内使用,不能在不

同的包之间使用。

(2)文件存储数据;文件存储方式是一种较常用的方法,在 Android中读取/写入文件的

方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOutput()

方法来读取设备上的文件。

(3)SQLite 数据库存储数据;SQLite 是Android所带的一个标准的数据库,它支持SQL

语句,它是一个轻量级的嵌入式数据库。

(4)使用 ContentProvider存储数据;主要用于应用程序之间进行数据交换,从而能够让

其他的应用保存或读取此Content Provider 的各种数据类型。

(5)网络存储数据;通过网络上提供给我们的存储空间来上传(存储)和下载(获取)我们存储

在网络空间中的数据信息。

13、线程池的优化

http://www.tuicool.com/articles/yANnq2N

Java通过Executors提供四种线程池,分别为:

newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。

newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。

newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。

newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。

14、

相关文章

  • 整理的一些安卓开发基础

    1、事件分发机制 http://blog.csdn.net/pi9nc/article/details/92818...

  • Android(一)--如何学习安卓

    一、java基础 安卓是用java来编写的,所以java对安卓的重要性不言而喻了,但做安卓开发学会安卓基础部分基本...

  • 安卓刷机基础

    因此小七整理了一些常见的安卓刷机相关的基础概念,希望能给大家一些帮助。 1、什么是安卓刷机? 刷机,就是通过一定的...

  • 长沙华瑞计算机学校零基础如何学习安卓软件开发

    零基础如何学习安卓软件开发?安卓前景怎么样?①Ja‌‌va基础知识 ②Linux基础知识 ③数据库基础知识 ④网络...

  • 无标题文章

    安卓开发福利大放送,基础小白到行业精英的秘密 安卓开发入门教程有哪些?安卓手机全球市场份额已经接近85%,成为了无...

  • 安卓开发技术分享

    先占个坑,后面一点点把安卓开发相关的知识系统的整理上来。 一、安卓开发入门 开发环境搭建:https://blog...

  • 安卓自定义View-画圆

    效果图 代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开发工...

  • 安卓动画样例-圆环变多变少

    效果图 代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开发工...

  • 安卓开发零基础入门系列

    本文由安卓开发007出品 ## 1.1 安卓发展历程## 1.2 安卓开发前景展望## 1.3 安卓开发入门之安装...

  • 简单粗暴的Dagger2使用介绍

    安卓基础开发库,让开发简单点。DevRing & Demo地址:https://github.com/LJYcod...

网友评论

      本文标题:整理的一些安卓开发基础

      本文链接:https://www.haomeiwen.com/subject/utdbpttx.html