自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

集成ShareSDK,分享微信,QQ,QQ空间,新浪微博。 注意,微信和微信好友圈分享,需要自己的应用在微信开放平台申请成功才可以正常分享!

2014-04-25

自定义Dialog

自己项目中整理出来的Dialog 可根据自己需要进行修改

2014-03-07

Android socket上传大文件client + server

参考网上例子,由于http不支持大文件上传,采用TCP通信方式socket上传,client + server 支持断点续传

2013-06-08

Android 文件上传 带上传进度

基于HTTP协议的文件上传实例,参考老外blog中的例子实现。

2013-01-21

Android Http 请求

自己项目中抽取的http request 部分,可作post,get请求。拿来可直接用 用法: HttpAsyncTask task = new HttpAsyncTask(); task.setMethod("get"); task.setTimeOut(5000); task.execute(url);

2013-01-16

android AsyncTask 断点下载实例

AsyncTask 断点下载

2012-12-25

Android文件上传实例

个人做的一个android的基于HTTP协议上传文件的实例,仅供参考!

2012-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除