技术
文章平均质量分 78
chengxunshi
这个作者很懒,什么都没留下…
展开
-
Android内存泄漏
这两天在用LeakCanary查项目的内存泄漏问题,在此记录一下。内存泄漏的五种常见原因 单例造成的内存泄漏 Android的单例模式非常受开发者的喜爱,不过使用的不恰当的话也会造成内存泄漏。因为单例的静态特性使得单例的生命周期和应用的生命周期一样长,这就说明了如果一个对象已经不需要使用了,而单例对象还持有该对象的引用,那么这个对象将不能被正常回收,这就导致了内存泄漏。常见案例如下:原创 2016-05-26 22:39:48 · 311 阅读 · 0 评论 -
JNI初试
JNI初试这几天学习了一下JNI,在此记录一下!准备下载NDK并配置环境变量新建android项目JNITest,然后app->new->Folder->JNI Folder在src/main目录下生成jni 修改local.properties,添加ndk目录 ndk.dir=D:\\Android\\ndk修改gradle.properties,添加 android.useDeprecat原创 2016-05-18 21:56:03 · 307 阅读 · 0 评论 -
关于保活,两种可行方式
关于保活,两种可行方式:1.全家桶组合方式:提高进程优先级+双进程相互拉起+alarm定时广播 =>这种方式是轮询式的,比较耗电,但实现相对简单 参考2.文件锁双守护进程 =>这种方式是阻塞式的,省电,但需要依赖第三方MarsDaemon 参考两种方式对于小米,魅族等深度定制机无效,可用第三方推送弥补,如小米推送 没有哪种方式是绝对有效的,只是能覆盖大多数的场景实现流程梳理:方式一原创 2016-07-05 09:33:15 · 608 阅读 · 0 评论 -
看似简单的小麻烦
看似简单的小麻烦获取控件的高度值,貌似通过简单的View.getHeight就能得到,但是有些时候,如果View还没有渲染(流程onMeasure->onLayout->onDraw 这里有个注意点),getHeight()方法就获取不到你想要的值了,比如:TextView tv = new TextView(); tv.setText("hahahahaha");int height = tv原创 2017-02-14 11:46:48 · 215 阅读 · 0 评论