自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 jvm内存深层解析与性能调优

要更好的消化这篇文章,建议先看看https://blog.csdn.net/cdaimadada/article/details/79884414(java内存解析)这篇博文对于一般而言,java内存被划分为堆和栈(上一篇文章就是讲这个的),但是,实际上内存划分比这个复杂得多!概述对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不在需要为每一个new操作去写配对的delete/free代...

2018-05-04 20:25:49 444

转载 Context内存泄漏问题

今天看了一篇介绍Context的文章,写的不错,里面有一段内容平时开发时候没有注意到,摘抄如下: 在项目中,我们经常会遇到使用单例模式或者静态static变量,虽然使用静态类或者静态变量很方便,但是也潜在很多的内存泄漏问题。6.1静态资源导致的内存泄漏你可能遇到以下这段代码:public class MyCustomResource { //静态变量drawable private...

2018-05-28 20:26:14 2198

原创 图片的三级缓存基础

一、概述:现在android应用中不可避免的要使用图片,有些图片是可以变化的,需要每次启动时从网络拉取,这种场景在有广告位的应用以及纯图片应用(比如百度美拍)中比较多。现在有一个问题:假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响。当然,我想,向百度美拍这样的应用,必然也有其内部的图...

2018-05-23 21:02:40 332

转载 Android中Application的总结

前言  最近的开发中经常使用到Application类,它的用处很多,但是网上的资料有很多是旧的或者是介绍不全的,在这里全面总结一下,先介绍Application的所有方法,再介绍它的使用经验。本文基于Android6.0源码,API LEVEL 23。介绍  首先看看官网的介绍:   下面是我对Application类的理解:每个APP都有一个Application实例:如果我们没有继承Appl...

2018-05-20 15:24:00 240

转载 Android JNI编程—JNI基础

最近看到了很多关于热补的开源项目——Depoxed(阿里)、AnFix(阿里)、DynamicAPK(携程)等,它们都用到了JNI编程,并且JNI编程也贯穿了Android系统,学会JNI编程对于我们学习研究Android源码、Android安全以及Android安全加固等都是有所帮助的。但是对于我们这些写Android应用的,大部分时间都是在使用Java编程,很少使用C/C++编程,对于JNI编...

2018-05-19 10:15:35 186

转载 Java设计模式之单例模式

本文继续介绍23种设计模式系列之单例模式。概念:  java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统...

2018-05-18 10:41:22 167

转载 MVP in Android

一、概述对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等。本篇博文仅是为了做下记录,提出一些自己的看法,和帮助大家如何针对一个Activity页面去编写针对MVP风格的代码。对于MVP,我的内心有一个问题:为何这个模式出来后,就能被广大的Android的程序员接受呢?问了些程序员,他们对于MVP的普遍的认识是...

2018-05-17 10:29:15 157

原创 红黑树、HashMap

二叉树基础:刚看到堆排序,顺便记录一下关于树的一些基本概念:前言前面介绍的栈、队列都是线性结构(linear structure)。而树是非线性结构(non-linear structure)。因此,树中的元素之间一般不存在类似于线性结构的一对一的关系,更多地表现为多对多的关系。直观地看,它是数据元素(在树中称为节点)按分支关系组织起来的结构。显然,树形结构是比线性结构更复杂的一种数据结构类型。一...

2018-05-10 21:53:21 475

转载 数据结构常考问题总结

数据结构部分:1、数组和链表的区别。(很简单,但是很常考,记得要回答全面)C++语言中可以用数组处理一组数据类型相同的数据,但不允许动态定义数组的大小,即在使用数组之前必须确定数组的大小。而在实际应用中,用户使用数组之前无法确定数组的大小,只能够将数组定义成足够大小,这样数组的空间可能不被使用,从而造成内存空间的浪费。链表是一种常见的数据组织形式,他采用动态分配内存的形式实现。需要时可以用new分...

2018-05-09 16:25:43 1230

原创 接口回调

我们知道java中接口是不可以直接创建实例的,那么问题来了,假如我把一个接口声明为一个变量,那么我执行这个接口中的方法,接口没有实例它该怎么办呢?啊哈,这里自然又改出现java中的另一个特性---“多态”,这时java虚拟机自然会去找其子类,调用其子类中已经重载的该方法,这里就是接口回调的本质!!接口回调主要用于在程序内部进行数据的传输,程序内部数据传输也可以使用静态变量。根据不同的情形使用不同的...

2018-05-09 09:51:29 541

原创 android APP性能优化之内存优化

APP内存优化方法1.数据结构优化2.对象复用3.避免内存泄漏数据结构优化1.频繁地使用字符串拼接不要用“+”的方式,应该使用StringBuilder,“+”的方式会产生无用的中间变量,而且难以删除2.ArrayMap和SparseArray替换HashMapHashMap效率较低,内存占用较高,使用前两者能解决这种问题。HashMap中的一个entry需要额外占用32B3.内存抖动length...

2018-05-07 12:25:15 448

原创 http协议讲解

概述http全称叫做超文本传输协议(HyperTextTransferProtocol),早期是用于传输html格式的数据,后来可以用于传输多种格式的数据。我们把Http协议中的通信两方称作Client和Server(或Host),Client向Server端经过http协议发送一个Request,Server端收到Request后经过一系列的处理返回一个Response。(所以一般的网络通信像o...

2018-05-06 16:53:56 229

原创 android 自定义控件和源码视频讲解

为什么要使用自定义控件?   1.系统的某一个控件,在不同的设备效果不一样当我们想让这个控件在所有设备显示都是一样的风格的时候,就需要自定义控件解决此类问题就需要自定义控件。2.整个软件在不同设备上风格统一    同一个软件在不同设备上可能会出现不同的界面风格,为对所有控件实现统一风格就需要自定义控件例如QQ软件主页面风格大部分都是自定义的3.系统自带的控件,功能有限,增加功能;或者功能太多,减少...

2018-05-06 10:48:38 872

原创 jvm类加载机制与使用MAT分析堆内存

jvm通过类加载器,将硬盘上编译好的class文件加载进jvm中。至于它是否可以运行,则有Execution Engine决定类加载器主要有虚拟机自带的加载器和用户自定义加载器。其中启动类加载器主要加载java中的根类,像Object、Scanner等,这些根类加载时,它们的类加载器为NULL;扩展类加载器主要加载java外部的类(这些外部类存储......jdk\jre\lib\ext中),系统...

2018-05-05 12:43:53 564

空空如也

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

TA关注的人

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