- 博客(12)
- 资源 (7)
- 收藏
- 关注
原创 一图搞明白HTTP缓存
HTTP缓存,从某大神的网上看到一张非常容易理解的图,搬过来学习使用!在图上添加了一点说明,一下子明白HTTP缓存。按优先级,判断缓存,过期Expire > Etag >Last-Modified...
2020-03-08 22:57:05 286
原创 Android 内存优化与OOM简单分析理解
借助网上一些大佬的学习视频,对OOM作一个整理。一、OOM的产生 已使用内存 + 新申请内存 > 可分配内存 几乎涵盖所有的内存,通常指导堆内存 Native Heap只在在物理内存不够时才会报OOM二、如何防止OOM的发生呢?1、合理的使用数据结构,比如HashMap,AarryMap, SparseArray2、避免使用...
2020-02-26 22:25:38 357
原创 数据结构排序原理
一、排序原理分解1、插入排序时间复杂度 O(n * n), 空间复杂度O(1),稳定2、选择排序时间复杂度 O(n * n), 空间复杂度O(1),不稳定3、归并排序时间复杂度 O(nlogn), 空间复杂度O(n),稳定4、快速排序时间复杂度 O(nlogn), 空间复杂度O(1),不稳定5、桶排序时间复杂度 O(n), ...
2020-02-25 20:29:44 601
转载 Android Studio3.0 flavorDimensions多维度理解(版本差异化打包)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-09-17 16:12:26 518
原创 Android App性能优化(1)——App启动优化
写在前面Android App开发过程中,很多的项目从0到1,再经历过N次版本迭代之后,性能问题基本上都会慢慢的上升,严重的则影响到了一款产品的核心运营数据,甚至更为糟糕,因此可见APP的性能的重要性。计划通过一些文章来记录一下Android App性能优化的一些常用问题,解决方案等,作为自己学习知识沉淀的同时也可以分享给有需要的同学。一、App启动优化介绍1、背景对于用户来说,体...
2019-08-13 13:37:23 782
原创 Android中Service启动原理分析
在Android开发中,对于应用开发者来说,通过Context的startService来启动一个服务的方法再熟悉不过了,那么startService到底是怎么启动一个Service的呢?这里为了直观的分析流程,就从startService方法开始。一、Service启动流程总结本来启动流程的总结应该放在最后,这里为了便于以后阅读时更清析,把两张总结图放在前面。下面这张图相对比较抽象。...
2019-08-03 22:55:43 673
原创 Activity的显示原理分析
概要在Android开发中,通常我们作了startActivity之后,一会就加载出来了Activity页面,那么,这个Activity是到底是如何显示出来的呢?Activity的显示主要包括以下几个方面。 Activity的显示原理(Window/DecorView,ViewRoot) Activity的UI刷新机制(Vsync/Choreographer) UI的...
2019-08-01 21:53:10 494
原创 深入浅出Activity的启动过程
一、Activity的生命周期对于每个Android开发者来说,Activity的生命周期最熟悉不过了,这里简单引用一下Android API文档上的生命周期图。但是Activity的几个主要生命周期是如何回调的呢?请看下面Activity的启动流程部分。f二、Activity的启动流程Activity的启动一般我们是通过startActivity(Intentent),为了分析主...
2019-07-29 20:50:53 250
原创 谈谈Application的作用与启动流程
一、Application的作用1、保存应用程序的全局变量2、作一些初始化操作3、提供上下文二、Application的类继承关系这里Application继承自ContextWrapper, 而ContextWrapper又继承自Context,对于ContextWrapper而言,里面持有一个Context mBase,实际上是一个静态代理。如下public clas...
2019-07-27 21:29:15 1639
原创 说说Android应用程序的进程启动
一、进程启动方式在Android系统启动的时候,一些核心进程是由init进程fork出来,比如media、SurfaceFlinger、Zygote等,而另外一些系统核心服务进程则是由Zygote进程fork出来,比如我们的SystemServer进程,在这里面启动AMS,PMS等。那么对于进程的启动方式fork有哪几种方式?一般情况下分为两种,fork 带execve和不带execve,...
2019-07-27 17:16:23 291
原创 说说Android系统的启动流程
一、Android有哪些主要的系统进程?通过init.rc系统配置文件可查看,大致内容如下:/system/core/rootdir/init.rc...service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server...service surfacefling...
2019-07-27 15:54:53 262
原创 Zygote的简单理解
一、Zygote的作用启动SystemServer 孵化应用进程实际上SystemServer也是从Zygote继承而来,SystemServer实际上需要用到一些Zygote中已经准备好的系统资源,比如,常用类,JNI函数,主题资源,共享库等,从而节约系统的资源,直接复用可以节约系统资源,提升性能。二、Zygote的启动流程对于Android中的任何独立进程的启动,可分为下...
2019-07-27 12:20:27 481
ShareSDK微信,QQ,sinaweibo
2014-04-25
Android socket上传大文件client + server
2013-06-08
Android Http 请求
2013-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人