随笔
文章平均质量分 83
whminyi
这个作者很懒,什么都没留下…
展开
-
安卓杂乱基础
1.Android的体系结构: application(应用层)+application framework(framework层)+中间件层+Linux kernel层 2.android runtime 和JVM不同 android runtime是由JVM优化而来,在5.0之后安卓里面启用dalivk虚拟机 dalivk 中编译成 .dex(dalivk excuta原创 2016-03-02 22:21:03 · 354 阅读 · 0 评论 -
安卓之多线程下载
多线程下载,最简单也是最直接的可以使用别人已经写好的框架,就不必重复造轮子了,可以参考github上的 xutils3 框架,支持文件上传下载等诸多功能,https://github.com/wyouflf/xUtils3 下面记录一下自己使用randomaccessfile来实现下载功能的代码: 1.在本地创建同将要下载的文件同大小的文件 int fileLength= con原创 2016-03-17 15:55:04 · 501 阅读 · 0 评论 -
一个简单的service实例
1.服务的生命周期: 服务只会被创建一次调用oncreate , 多次开启服务, 只会去重复调用 onstartcommand , 并不会去新创建服务, 不会调用oncreate 服务也只会被关闭一次, 开启服务后 可以去关闭服务, 会调用 ondestroy方法 销毁服务 结论:使用开启服务的方式 去调用服务中的方法 是 走不通的 , 调用不了 服务中的方法 ... 需要使用绑定服务原创 2016-03-17 16:40:54 · 347 阅读 · 0 评论 -
OOM与memory leak区别
oom:即out of memory,就是内存溢出,就是内存不够了才会出现内存oom异常 memory leak:内存泄露,忘记释放资源的时候就会出现这个问题 List list =new ArrayList(); list.add(new Student()); list.add(new Student()); list.add(new Student())原创 2016-03-07 14:40:19 · 563 阅读 · 0 评论 -
Android异步消息的处理机制(looper handler message)
我们先大概了解一下异步处理的流程: 1、首先Looper.prepare()在本线程中保存一个Looper实例,然后该实例中保存一个MessageQueue对象;因为Looper.prepare()在一个线程中只能调用一次,所以MessageQueue在一个线程中只会存在一个。 2、Looper.loop()会让当前线程进入一个无限循环,不端从MessageQueue的实例中读取消息,然后原创 2016-03-09 12:06:45 · 449 阅读 · 0 评论 -
安卓模拟器黑屏
今天突遇模拟器黑屏,然后有个小demo又必须在模拟器上运行,没办法必须弄好啊。重装JDK, SDK之类的还有ARM和Intel CPU/ABI换着试都没有成功,哎,还有说要更新显卡驱动之类的,都没有成功也是烦,突然看到编辑AVD的时候有个use host GPU的选项,抱着试试的心态,竟然成功了,原来还是这里的原因,记录下来以供出现同样问题的androider解决这个问题原创 2016-03-14 16:27:01 · 719 阅读 · 0 评论 -
获取RandomAccessFile对文件的读写权限
在使用RandomAccessFile进行多线程下载的时候,有下面这两句代码: File file=new File(getFileName(path)); RandomAccessFile ras=new RandomAccessFile(f, "rw"); 这样看似正确,但是在没有获取root的机器上做的时候,却根本就没有获取 "W"的权限,因此会出现 open failed: ER原创 2016-03-15 09:52:18 · 2046 阅读 · 0 评论