Android
Android开发相关内容
蒋含竹
非淡泊无以明志,非宁静无以致远。
展开
-
设计一个简易的订阅/分发消息的工具
发布/订阅消息机制单例设计模式观察者设计模式HashMap类按value注册观察者按value分发消息原创 2017-10-20 22:27:54 · 6524 阅读 · 0 评论 -
Android内存溢出与优化(五)——防止static引用
在Java中,如果将一个对象加上static修饰符,那么JVM虚拟机就会在内存中一直保留这个对象,这个对象不会被垃圾回收器清理,直到应用退出。为了达到目的,随意使用static修饰符是不好的表现。不过有时候又不得不使用static修饰,那么我们只用尽量避免消耗大内存的对象被static修饰。下面开始Android中的代码讨论。1.常用的Ut原创 2017-08-13 13:20:44 · 3383 阅读 · 0 评论 -
Android内存溢出与优化(四)——防止Handler导致的内存泄露
在Android中,子线程不能直接更新主线程的UI,因此提供了Handler来方便我们操作。在子线程调用handler可以直接发送Message加入MessageQueue,等待Looper取出Message执行操作,这样就完成了从子线程到主线程的UI更新。但是,如果Looper取出的Message执行的操作是使用handler再发消息(发送的消息和之前一样),这样就形成了死循环,这样handler一直被持有引用,无法释放内存,导致内存泄露。原创 2017-06-29 22:05:55 · 2914 阅读 · 1 评论 -
Android内存溢出与优化(三)——使用完后要close、recycle、unregister、null
相信大家看到close、recycle、unregister、null,大概已经猜到要说什么了,没错,这一篇都是大家熟知的部分。不过,既然是说内存溢出与优化,这些东西确实又是不可忽略的,懂得的朋友可以跳过,新手朋友请多注意!这些多是系统给出的对象占用,需要主动释放,如果不释放,这些对象将一直占用内存,造成内存泄露!下面的例子,就直接上代码了,相信大家都懂。原创 2017-01-26 12:52:32 · 2610 阅读 · 0 评论 -
Android内存溢出与优化(二)——不做无意义的内存消耗
写代码时,我们一般会习以为常的按照惯例的方法走,最后项目也能够完成,顺利竣工。但是,有的朋友查看App内存消耗时,会发现“同样的应用产品,自己的App消耗的内存居然比别人多”。原因就在于,技术不断更新,做同样的事,由于方式不同,消耗的内存量也不同。在能完成同样一件事,用户界面体验相同时,我们应该采取更有效的方式(例如内存消耗更低)。原创 2017-01-08 15:15:41 · 1914 阅读 · 0 评论 -
Android内存溢出与优化(一)——不要随意new对象
在开发中,必然会new对象,一般为了方便,很可能我们在每次要用的时候,直接就new对象拿来用,这样既方便又省事。同时,又由于内存垃圾回收器的机制,一般情况下可以让我们不必担心new对象会产生内存溢出的问题(相对于C语言每次要考虑用完后释放,省去了很多麻烦)。但是,对于需要频繁执行的代码块,不必要的执行就会浪费很多性能,对于移动端的开发,这一点还是很值得我们去优化的!原创 2017-01-04 18:25:04 · 6643 阅读 · 0 评论 -
Android内存溢出与优化(零)——开题篇
由于手机移动端本身性能的制约,内存紧凑,所以需要开发人员对应用做出大量优化。而往往伴随着从初级移动开发人员到高级移动开发人员一直让人头疼的问题就是内存溢出(out of memory)和内存泄露(memory leak),在这里我想写出一些开发中相关的经验,与大家一同分享、探讨、进步! *****个人经验狭隘,难免有所疏漏,若有问题,恳请斧正!***** 【-...原创 2017-01-01 16:34:11 · 1994 阅读 · 0 评论