andriod
文章平均质量分 84
yjdsqb
这个作者很懒,什么都没留下…
展开
-
【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
一、内存泄露垃圾回收器无法回收原本应该被回收的对象,这个对象就引发了内存泄露。内存泄露的危害: (1)过多的内存泄露最终会导致内存溢出(OOM)(2)内存泄露导致可用内存不足,会触发频繁GC,不管是Android2.2以前的单线程GC还是现在的CMS和G1,都有一部分的操作会导致用户线程停止(就是所谓的Stop the world),从而导致UI卡顿。二、内存溢出(OOM)Android为每个进程...转载 2018-04-30 22:22:11 · 239 阅读 · 0 评论 -
实现严谨的singleton类
javasingleton单例singleton模式是大多数javaer耳熟能详的, 不过要做到真正的单例其实很不容易, 你需要考虑以下问题:1. 延迟加载时多线程环境下是否能保证单例?2. 是否可以通过暴力反射获得新的对象?3. 是否可以通过clone方法获得新的对象?4. 是否可以通过序列化获得新的对象? 对于问题1, 可以通过双重检查加锁解决. 这是运用单例的常识, 不再详细说明.问...转载 2018-05-01 21:47:33 · 122 阅读 · 0 评论 -
android笔记--处理started service的多次启动请求
所谓的started service, 是我对以startService()方法启动的service的叫法. Service运行在所在进程的main thread中. 启动一个service时, 不会自动为该service创建新的thread. 这意味着开发者通常需要为service开启新的线程, 以执行耗时或者阻塞操作—否则可能导致ANR错误的发生. 既然如此, 为何不在activity中直接开...转载 2018-05-01 21:49:11 · 4203 阅读 · 0 评论 -
性能优化01-常用启动优化技巧
一、启动定义启动:从手指点击app图标,到第一个页面加载完成.二、启动类型在安卓中应用的启动方式分为以下几种:1.冷启动冷启动:当启动应用时,后台没有该应用的进程,系统会创建一个新的进程分配给该应用。冷启动会先创建和初始化 Application 类,再创建和初始化 MainActivity 类,最后显示在界面上。2 .热启动热启动:当启动应用时,后台已有该应用的进程(如:按back键、home键...转载 2018-05-02 23:12:35 · 162 阅读 · 0 评论 -
Android Material Design(一)
主要内容: 本文将要介绍Material design和Support library控件,主要包括TextInputLayout、SwitchCompat、SnackBar、FloatingActionButton、Shadows、Ripples、TabLayout、RecyclerView、Card、NavigationView、BottomSheet、Palette控件。先来看下效果吧。1....转载 2018-04-29 00:49:50 · 4595 阅读 · 0 评论 -
EventBus使用详解
前言:EventBus出来已经有一段时间了,github上面也有很多开源项目中使用了EventBus。所以抽空学习顺便整理了一下。目前EventBus最新版本是3.0,所以本文是基于EventBus3.0的。相关文章EventBus使用详解EventBus源码解析EventBus是针一款对Android的发布/订阅事件总线。它可以让我们很轻松的实现在Android各个组件之间传递消息,并且...转载 2018-04-29 22:13:12 · 179 阅读 · 0 评论 -
【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
一、内存泄露垃圾回收器无法回收原本应该被回收的对象,这个对象就引发了内存泄露。内存泄露的危害: (1)过多的内存泄露最终会导致内存溢出(OOM)(2)内存泄露导致可用内存不足,会触发频繁GC,不管是Android2.2以前的单线程GC还是现在的CMS和G1,都有一部分的操作会导致用户线程停止(就是所谓的Stop the world),从而导致UI卡顿。二、内存溢出(OOM)Android为每个进程...转载 2018-06-03 08:35:06 · 258 阅读 · 0 评论