Android GC 那点事】的更多相关文章

版权声明:本文由陈昱全原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/170 来源:腾云阁 https://www.qcloud.com/community 想写一篇关于Android GC的想法来源于追查一个魅族手机图片滑动卡顿问题,由于不断的GC导致的丢帧卡顿的问题让我们想了很多方案去解决,所以就打算详细的看看内存分配和GC的原理,为什么会不断的GC, GC ALLOC和GC COCURRENT有什么区别,能不能想办…
导语 想写一篇关于 android GC 的想法来源于追查一个魅族手机图片滑动卡顿问题,由于不断的 GC 导致的丢帧卡顿的问题让我们想了很多方案去解决,所以就打算详细的看看内存分配和 GC 的原理,为什么会不断的 GC,GC ALLOC 和 GC COCURRENT 有什么区别,能不能想办法扩大堆内存减少 GC 的频次等等. 1.JVM 内存回收机制 1.1 回收算法 标记回收算法(Mark and Sweep GC) 从”GC Roots”集合开始,将内存整个遍历一次,保留所有可以被 GC R…
  1.前言 昨天谈了BaseActivity的封装,Android谈谈封装那些事--BaseActivity和BaseFragment(一)有很多小伙伴提了很多建议,比如: 通用标题栏可以自定义View而不放在Base里面,代码更统一 BaseEventActivity里面应该留出开关保证不需要Bus的Activity使用 BaseStatusActivity里面就一个方法没必要新建一个 还有一些小的细节 在这里感谢大家的建议了啊.我修改了一部分,后面会慢慢优化,最后在HLibrary里面贴出…
使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进.在此,把这些相关的东西记录,做一总结. 1. 替换AndroidManifest中的占位符 我想把其中的${app_label}替换为@string/app_name android{ defaultConfig{ manifestPlaceholders = [app_label:"@string/app_name"] } } 如果只想替换debug版本: and…
相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧.: ) 不要复用 这一条可能很多人会有不同的意见,因为广为流行的编程理念就在教导我们要复用代码,当然代码复用是很好的理念,可以让程序更加简洁.但也容易形成什么都想复用的思维惯性,而这在某些场景下就可能会造成麻烦. 比如,想象下你在应用中的登录和注册界面中都是用了相同的字符串 - R.string.l…
今天的破事呢就说说APP加载页面的实现.一般情况下,当APP打开的时候,我们需要做很多事情,比如检查网络连接啊,初始化一些配置啊等等.我们可以让这些事情在APP完全打开之前做完,然后呢在打开的过程中显示一些logo信息.想必大家都见过. 先贴个运行效果: 好,我们进入正题. 首先我们先配置下AndroidManifest.xml 在application节点里面添加一个自定义的activity: <!-- startup page --> <activity android:name=&…
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 继上一篇Android Studio VS Eclipse的文章后接着来分享AnDevCon大会上的内容(这是别人分享给我的.导致中间非常多遗漏,很多都是我自己上网找资料补充的,请见谅),今天的主题是关于Android模拟器的一些事. 简单介绍: Android Virtual Device就是我们常说的模拟器了.简称AVD或者Emulator.对模拟器的管理都在一个叫做Android…
[Android开发那点破事]解决android.os.NetworkOnMainThreadException 昨天和女朋友换了手机,我的iPhone 4S 换了她得三星I9003.第一感觉就是好卡,果断刷机.以前是Android 2.3的系统.回来刷成了4.4. 好了,问题来了.在我用手机测试我们的APP的时候,抛出一个如题的异常:android.os.NetworkOnMainThreadException 第一次看到这异常,字面意思是说:在主线程中的网络异常.然后我就去了解了下这个异常,…
由于时间问题,简单的谈谈自己的理解. 大家都知道,在android开发中,不需要自己去管理,有垃圾回收机制会自动帮我们去回收 没有被引用到的对象. 那垃圾回收机制到底是怎样的呢?下面列出本人的一些理解. 垃圾回收的线程: 之前是在主线程做的,后面移到优先级比较低的线程中进行. 之前是单一线程,后面是多线程. 垃圾回收的时机: app空闲的时候 内存紧张的时候 分配大的内存块不够用的时候. 回收的方式: 不采用分代技术:会一次性gc会遍历所有的对象,这样很费时 采用分代技术:分为年轻代,老年代,持…
原文来自http://blog.zanlabs.com/2015/03/14/android-shortcut-summary/ 将近二个多月没写博客了.之前一段时间一直在搞红包助手,就没抽时间写博客,但写这个真的是很好玩.没想到居然在Android上实现模拟点击,从而实现自动抢红包,有兴趣的同学可以参考https://github.com/waylife/RedEnvelopeAssistant ,代码已经开源.红包助手还有一些问题,但是现在基本的抢红包基本没问题了.目前正在对它进行优化以及较…