自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 使用android studio生成jar包,以及带混淆的jar

之前已经尝试过使用android studio打包和引用aar,因为本身module引入的是apply plugin: 'com.android.library'所以打出来的包是aar很正常,只要运行下就可以了。然而,怎么能够打成jar包呢,在eclipse可能很简单,但是android studio里面可能要花一些时间了。关于android studio生成jar包其实就是一个关于gradl

2017-03-27 22:51:58 934

原创 AOP面向切面设计编程

像spring啊,retrofit都使用到这个。根据编写注解,然后编写切面的东西,使业务划分明显,又能聚合,性能比面向对象要高。具体来讲的,有点混乱,又有点神奇。对于注解进行一系列操作。具体解释的话:这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。一般而言,我们管切入到指定类指定方法的代码片段称为切面,而切入到哪些类、哪些方法则叫切入点。有了AOP

2017-02-26 23:20:21 210

原创 设计模式之单例模式

单例模式分类:懒汉模式,饿汉模式,DCL模式,内部类模式,枚举。其中,传统懒汉,饿汉都不可靠,DCL模式非常可靠,但是因为jvm的原因,还是不完美,内部类模式特别的优雅,推荐使用,枚举相当简洁,也推荐使用。具体代码实现:DCL模式:public class DCLSingle { private static DCLSingle instance; private DCLSin

2017-02-26 23:01:34 179

原创 apk瘦身计划

1.图片压缩图片:apk里面的资源图片 压缩图片webp:谷歌现在非常提倡的使用。保存图片比较小。VP8派生而来的。webp的无损压缩比PNG文件小45%左右,即使PNG进过其他的压缩工具压缩后,任然可以减小到PNG的28%。Facebook在用、腾讯、淘宝。缺点:加载相比于PNG要慢很多。 但是配置比较高。工具:http://isparta.github.io/

2017-02-16 22:01:51 242

原创 UI渲染机制优化方面理解

渲染机制以及优化一、了解渲染刷新机制VSYNC(垂直刷新/绘制)60HZ是屏幕刷新理想的频率。60fps---一秒内绘制的帧数。24帧/秒 电源胶卷时代在60fps内,系统会得到发送的VSYNC(垂直刷新)信号qu去进行渲染,就会正常地绘制。60fps要求:每一帧只能停留16ms.VSYNC:有两个概念1)Refresh Rate:屏

2017-02-13 22:36:29 450

原创 性能优化方面

性能优化的帮助工具:MAT,Memory Monitor(属于AndroidMonitor中一个模块),HeapTool(查看堆信息),Allaction Tracking,LeakCanaryLint工具1.Allaction Tracking追踪内存分配信息。可以很直观地看到某个操作的内存是如何进行一步一步地分配的。2.LeakCanarySquar

2017-02-12 23:48:15 176

原创 内存抖动,以及观测内存的状态的工具分析

分析工具:Android MonitorMAT (对Eclipse插件使用的,也有独立分析工具)1)Android Monitors的内存分析最直观的看内存增长情况,知道该动作是否发生内存泄露。动作发生之前:GC完后内存1.4M; 动作发生之后:GC完后内存1.6M2)使用MAT内存分析工具MAT分析heap的总内存占用大小来初步判断是否存在泄露Heap视图中有

2017-02-12 23:43:43 731

原创 关于内存泄漏的一些知识概括和记录

什么是内存泄露:当一个对象已经不需要使用了,本该被回收时,而有另外一个正在使用的对象还持有它,因此就导致了对象不能被回收,这种对象被该被回收,但是却不能被回收的而留在内存中的情况被形容为内存泄漏。内存分配的集中机制:1.静态 2.堆栈内存。静态:运行时一直存在,存放静态数据和全局的static数据。栈内存:先进后出,方法结束的时候就自动被释放掉,运算速度很快的。3:堆内存:不是连续的内存区,空

2017-02-09 22:39:07 204

原创 Activity的生命周期和模式

onCreate: 声明周期的第一个方法.做一些初始化的动作,例如setContentViewonRestart: 表示Activity重新启动.当界面从不可见变为可见时调用,场景Home键切换,从任务栈返回onStart: 表示Activity正在被启动.Activity为理论可见(取决上层界面是否透明),但不是前台无法操作.onResume: 表示Activity已经可见,并且为前台. 与on

2017-01-25 17:44:41 191

原创 tinker集成方法之使用tinkerpatch平台快速极简集成!

今天试了一下tinker的热更新修复技术,对比起来,仿佛是目前最佳的热更新方案。具体文档链接点击打开链接,里面写的很简单,也很只管,并且把资料也给全了。

2017-01-12 17:21:48 329

原创 android studio极简版freeline0.8.4配置指南

最近试了下freeline,感觉编译速度感人,虽然有些问题,但是具体使用简直良心。记录下使用步骤吧。文档地址,极简版本就是:下载freeline的插件,然后一键运行,build.gradle记得sync,然后就可以运行了。这边讲讲具体遇到的问题。1:productFlavors的报错。解决方法:buidl gradle下添加freeline { hack true

2017-01-09 17:01:28 215

原创 Gradle的一系列疑惑

我们用 Android Studio 新创建一个项目时,会自动生成 3 个 Gradle 文件:1. setting.gradlesetting.gradle 文件在 初始化过程中被执行,构建器通过 setting.gradle 文件中的内容了解哪些模块将被 build2.主目录下的 build.gradle主目录下的 build.gradle 文件是最顶层

2016-12-26 17:59:44 168

原创 一些代码感受

本开一直想写文章坚持下去,好看看自己的成长,但是有时候会不断的忘记,或者是懒惰的原因。以后会慢慢恢复活来,逼着自己去写,去成长。毕竟模仿才是成长的第一步啊!把公司项目的gradle配置了一遍,其实gradle没想象中那么生涩,只要去尝试,去写,总是会收获的。而且啊,也差不多了,公司这种小项目确实写的有点乏味了,丝毫没有难度了,所以急需不断的去外界提升自己,提高自己的编程能力以及视野,这样把,以

2016-12-18 21:04:05 239

原创 观<人类简史>有感

断断续续,终于画了一天把买来五个月看了一半的看完了。最开始看是从course上学习的,算算两年过去了,简直不可思议,具体要说观后感的话,就是压抑,显而易见的是,作者对人类的未来是悲观的,大部分人看完可能也会有这种感受,人类社会到底会发生什么样的变化。这二十年的快速变化,已经让人惊讶于它的速度,到底十年后整个社会会成为一股怎样的风气,android是否会被淘汰,是否又会出现一个新的平台,一切的一切都

2016-11-06 21:24:53 634 1

原创 realm大致使用

Realm大致使用:一、Realm简介数据库Realm,是用来替代sqlite的一种解决方案,它有一套自己的数据库存储引擎,比sqlite更轻量级,拥有更快的速度,并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,自动数据同步,简单身份验证,访问控制,事件处理,并且在github上拥有极多star 本篇文章用的版本为Realm 2.0.2(官方文档)二、环境配置(1) 在项

2016-11-06 17:24:39 184

转载 listview源码解析

ListView简单解析Adapter解析Adapter存在的意义:Adapter是适配器的意思,它在ListView和数据源之间起到了一个桥梁的作用,ListView并不会直接和数据源打交道,而是会借助Adapter这个桥梁来去访问真正的数据源,与之前不同的是,Adapter的接口都是统一的,因此ListView不用再去担心任何适配方面的问题。而Adapter又是一个接口(interface),它

2016-10-25 18:30:57 198

转载 gradle

本文转载自http://www.zircon.me/06-25-2015/about-gradle.htmlgralde知识整理简介Gradle Build FilesThe Gradle Wrapper关于Build variants关于dependenciesGradle的一些概念简介Android Studio默认使用Gradle作为构建工具,不像Ant那样基于XML,取而代之的

2016-10-23 21:24:14 250

原创 android studio依赖以及生成aar

关于AAR:AAR是Android Library的一种新的二进制分发格式,它把资源也一起打包,这样一来图片和布局资源文件也能够被同时分发。同时AAR还可以包含jar包.生成aar:当我们运行工程后,该工程的/build/outputs/arr下包含Android Studio自动打包的AAR文件aar的依赖:将AAR文件拷贝到项目的libs目录下,然后

2016-10-20 13:20:58 314

原创 一些以前的知识点

最近知识整理:1. - 1:关于使用**BaseRecyclerViewAdapterHelper**来简化Recyclerview的使用`    public ClosedPrescriptionAdapter(Context context, int layoutResId, List data) {        sup

2016-10-13 15:23:18 165

原创 理解 todo-mvp-clean

1、两个Base接口类public interface BaseView {//规定view中必须实现setPresenter()方法,保持引用presenter void setPresenter(T presenter);}public interface BasePresenter {//presenter必须实现start方法 void start();}该

2016-10-12 23:02:57 895

原创 mvp的一些信息

MVC(Model-View-Controller,模型-视图-控制器)模式是80年代Smalltalk-80出现的一种软件设计模式,MVP(Model-View-Presenter,模型-视图-表示器)模式则是由IBM开发出来的一个针对C++和Java的编程模型,大概出现于2000年,是MVC模式的一个变种。优点:1. 降低耦合度,实现了Model和View真正的完全分离,可以修

2016-10-10 16:29:59 189

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-10-09 15:05:10 129

空空如也

空空如也

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

TA关注的人

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