- 博客(20)
- 资源 (20)
- 收藏
- 关注
原创 Java中关于内存泄漏出现的原因以及如何避免内存泄漏(超详细版汇总上)
Android 内存泄漏总结内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。最近自己阅读了大量相关的文档资料,打算做个 总结 沉淀下来跟大家一起分享和学习,也给自己一个警示,以后 coding 时怎么避免这些情况,提高应用的体验和质量。我会从 ja
2016-09-09 08:58:35 28658 16
原创 Java中HashMap的hashcode的作用?
HashMap的hashcode的作用?hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的;如果两个对象相同,就是适用于equals(java.lang.Object) 方法,那么这两个对象的hashCode一定要相同;如果对象的equals方法被重写,那么对象的hashCode也尽量重写,并且产生h
2016-09-26 20:32:26 5593 3
原创 Android探索之旅(第四篇) 面试总结大全
以下均为笔者从简书收集到的资料,仅供参考~~~~xmpp协议初识http://www.jianshu.com/p/af87ff15bfe3安卓中的线程和线程池http://www.jianshu.com/p/78444487c5abandroid音视频点/直播模块开发http://www.jianshu.com/p/8436c7353296
2016-09-22 10:43:47 554
原创 Android探索之旅(第三篇) Binder机制(详细版)
Binder机制首先Binder是Android系统进程间通信(IPC)方式之一。Binder使用Client-Server通信方式。Binder框架定义了四个角色:Server,Client,ServiceManager以及Binder驱动。其中Server,Client,ServiceManager运行于用户空间,驱动运行于内核空间。Binder驱动程序提供设备文件/dev/binder与用户空
2016-09-20 20:55:34 488
原创 Android探索之旅(第二篇) App启动过程
APP启动过程上图就可以很好的说明App启动的过程ActivityManagerService组织回退栈时以ActivityRecord为基本单位,所有的ActivityRecord放在同一个ArrayList里,可以将mHistory看作一个栈对象,索引0所指的对象位于栈底,索引mHistory.size()-1所指的对象位于栈顶Zygote进程孵化出新的应用进程后,会执行ActivityT
2016-09-20 20:52:17 395
原创 Android学习之旅(第一篇) SurfaceView的原理以及使用场景
为什么要使用SurfaceView来实现动画?因为View的绘图存在以下缺陷:View缺乏双缓冲机制当程序需要更新View上的图像时,程序必须重绘View上显示的整张图片新线程无法直接更新View组件SurfaceView的绘图机制一般会与SurfaceView结合使用调用SurfaceView的getHolder()方法即可获得SurfaceView关联的SurfaceHolderS
2016-09-20 20:43:26 1907 1
原创 Java中关于内存泄漏出现的原因以及如何避免内存泄漏(超详细版汇总下)
本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都
2016-09-11 19:21:30 812
原创 Android 2016年度知名企业公司面试题
Alibaba一面说一下你怎么学习安卓的?项目中遇到哪些问题,如何解决的?Android事件分发机制?三级缓存底层实现?HashMap底层实现,hashCode如何对应bucket?Java的垃圾回收机制,引用计数法两个对象互相引用如何解决?用过的开源框架的源码分析Acticity的生命周期,Activity异常退出该如何处理?tcp和udp的区别,tcp如何保证可靠的,丢包如何处
2016-09-11 11:51:08 1391
原创 Android中Http+https协议的详细介绍(汇总上)
Http协议默认端口:80Http协议的主要特点支持客户/服务器模式简单快速:客户向服务端请求服务时,只需传送请求方式和路径。灵活:允许传输任意类型的数据对象。由Content-Type加以标记。无连接:每次响应一个请求,响应完成以后就断开连接。无状态:服务器不保存浏览器的任何信息。每次提交的请求之间没有关联。非持续性和持续性HTTP1.0默认非持续性;HTTP1.1默认持续性持
2016-09-11 11:47:30 963
原创 Android探索之旅(第五篇) TCP与UDP的详细介绍以及两者的区别(详细版)
TCP与UDP面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。 面向字节流的话,虽然应用程序和TCP的交互是一次
2016-09-11 11:45:23 1170
原创 Android中内存优化大汇总
本文转载自大苞米的博客(http://blog.csdn.net/a396901990),感谢大苞米的博文!写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相
2016-09-11 10:20:42 378
原创 Java基础之集合List-ArrayList、LinkedList、Vector的底层实现和区别
Java基础之集合List-ArrayList、LinkedList、Vector的底层实现和区别ArrayList底层实际是采用数组实现的(并且该数组的类型是Object类型的)如果jdk6,采用Array.copyOf()方法来生成一个新的数组,如果是jdk5,采用的是System.arraycopy()方法(当添加的数据量大于数组的长度的时候)List list = new ArrayL
2016-09-11 10:06:11 2538
原创 Android关于OOM的解决方案(精简版)
Android关于OOM的解决方案OOM内存溢出(Out Of Memory)也就是说内存占有量超过了VM所分配的最大出现OOM的原因加载对象过大相应资源过多,来不及释放如何解决在内存引用上做些处理,常用的有软引用、强化引用、弱引用在内存中加载图片时直接在内存中作处理,如边界压缩动态回收内存优化Dalvik虚拟机的堆内存分配自定义堆内存大小
2016-09-10 09:15:31 663
原创 Android中EventBus原理及用法详情
EventBus概述EventBus是一款针对Android优化的发布/订阅(publish/subscribe)事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅。以及将发送者和接收者解耦。比如请求网络,等网络返回时通过Handle
2016-09-09 21:45:55 799
原创 Android中Bitmap的分析与使用
下面总结一下Bitmap的分析与使用Bitmap的创建创建Bitmap的时候,Java不提供new Bitmap()的形式去创建,而是通过BitmapFactory中的静态方法去创建,如:BitmapFactory.decodeStream(is);//通过InputStream去解析生成Bitmap(这里就不贴BitmapFactory中创建Bitmap的方法了,大家可以自己去看它的源码),我们
2016-09-09 21:17:47 532
原创 Android中动态加载dex技术初探(插件化技术学习)
Android动态加载dex技术初探http://blog.csdn.net/u013478336/article/details/50734108Android使用Dalvik虚拟机加载可执行程序,所以不能直接加载基于class的jar,而是需要将class转化为dex字节码。Android支持动态加载的两种方式是:DexClassLoader和PathClassLoader,DexClassLo
2016-09-09 21:00:34 943
原创 Android中出现ANR(Application Not Responding)
总结一下ANR,什么时候会出现这种情况1、ANR排错一般有三种类型KeyDispatchTimeout(5 seconds) –主要是类型按键或触摸事件在特定时间内无响应BroadcastTimeout(10 seconds) –BroadcastReceiver在特定时间内无法处理完成ServiceTimeout(20 secends) –小概率事件 Service在特定的时间内无法处理完成
2016-09-09 20:24:49 574
原创 Android探索之旅(第六篇) 图片的三级缓存
为什么要使用三级缓存如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响特别是,当我们想要重复浏览一些图片时,如果每一次浏览都需要通过网络获取,流量的浪费可想而知所以提出三级缓存策略,通过网络、本地
2016-09-09 19:59:30 363
原创 Android中MVC,MVP,MVVM的区别
MVC,MVP,MVVM的区别这里做以下简单的理解MVC软件可以分为三部分视图(View):用户界面控制器(Controller):业务逻辑模型(Model):数据保存各部分之间的通信方式如下:View传送指令到ControllerController完成业务逻辑后,要求Model改变状态Model将新的数据发送到View,用户得到反馈Tips:所有的通信都是单向的。互动模式接受用户
2016-09-09 09:18:46 587
原创 Java中对于String StringBuffer StringBuilder的理解
以前用过关于String,StringBuffer,StringBuilder的东西,现在整理一下。String是不可变的,StringBuffer是可变的;StringBuffer是线程安全的,StringBuilder是非线程安全的。 因而在大部分情况下字符串的拼接速度为:StringBuilder>StringBuffer>String 解释如下: 因为Str
2016-09-08 21:47:36 482
友盟社会化分享(微信分享后留在微信,没有回调的问题解决方案)
2018-05-18
node-v6.11.3-x64.msi
2018-03-27
install.gradle
2017-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人