Android与Gradle

Android Studio 的项目默认生产了大量文件。 如果不了解gradle会经常遇到各种莫名其妙的问题。   Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置。 在语法上是基于Groo...

2019-01-08 16:14:08

阅读数 41

评论数 0

python快速学习路线图

很久没更新技术博客,最近顿悟写作和编程是边际成本很低的事情,一次写作可以无数人看,所以不在写私人文章,努力写公开博客。 我是如何错过python? 从15年12月开始关注学习python到现在接近3年也只是入门水平,汗颜。。。 失败原因:没有用   作为一个android程序员,pyth...

2018-09-06 16:25:33

阅读数 234

评论数 0

深入理解 Java 虚拟机-内存

1.内存区域分析 线程私有内存区:跟随线程的产生和消亡 程序计数器:一块较小的内存空间,它是当前线程所执行的字节码的行号指示器。每条线程都有一个独立的的程序计数器,各线程间的计数器互不影响,因此该区域是线程私有的。 本地方法栈:保存栈引用指向java堆Java 堆 Java Heap ...

2017-12-04 17:46:51

阅读数 103

评论数 0

深入理解 Java 虚拟机-jvm

什么是 JVM JVM (Java Virtual Machine)是 Java 的核心和基础,在 Java 编译器和 os 平台之间的虚拟处理器。它是一种基于下层的操作系统和硬件平台并利用软件方法来实现的抽象的计算机,可以在上面执行 Java 的字节码程序。 Java 编译器只需面向 J...

2017-12-04 14:31:31

阅读数 143

评论数 0

android如何丧心病狂的压缩

1.可以直接拷贝用的代码 private void encode(String path) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); //输出流baos ...

2017-11-22 17:51:16

阅读数 172

评论数 0

handler

public Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1: ...

2017-11-22 11:07:08

阅读数 85

评论数 0

Dalvik ART的理解

一:概述 Dalvik是Google公司自己设计用于Android平台的虚拟机。但是性能一直备受指责。 Android L谷歌退出了ART,简单来说ART是Dalvik 的升级版本,通过空间换时间提高了运行效率和用户体验。 二:Dalvik Dalvik 采用寄存器比基于栈的jvm更加优化...

2017-11-13 14:43:56

阅读数 191

评论数 0

java接口和继承

一:why为什么需要最重要是设计理念的区别: 继承体现的是 is a 的关系,父类中一般定义的是整个继承机构的共性功能;(只有一些子类都需要的功能才有必要放入父类简化代码) 实现体现的是 like a 的关系,接口中一般定义的是整个继承结构的扩展功能;(例如回调,内名内部类只是需要实现一个回调...

2017-09-24 18:03:57

阅读数 170

评论数 0

java回调

一:背景 why-为什么需要回调关于什么是回调网上很多,但是很少有从为什么需要回调开始,所以下面从基本调用开始到最后为什么使用回调 1. 同步调用 A类中a()去调用B类的b()。 一个最大的问题,阻塞,在a()方法执行了2行代码在去调用b()方法,但是b()执行了耗时的操作,那么a(...

2017-09-23 22:13:01

阅读数 122

评论数 0

adnroid BroadcastReceiver 分析

BroadcastReceiver  四大组件之一,使用频率不是很高,一直 采用广播发送/接收的形式,也就是我们今天要讲的Broadcast和BroadcastReceiver,这种方式本质上属于消息订阅/发布的事件驱动流形式。

2017-09-14 15:50:59

阅读数 106

评论数 0

观察者模式

观察者模式 观察者模式:这个名字比较误导人,Observer(观察者)不是主动的去关注Observable(被观察者),而是很被动的告诉,Observable(被观察者)我需要关注你了,你有什么变化都要通知我,通知我后我做别的操作。很被动的一个角色。 所以Observer也被成为Publis...

2017-09-07 14:32:24

阅读数 106

评论数 0

android中多线进程开发

进程:进程是操作系统最核心的概念,它是对正在运行的程序的抽象。线程是进程中的一个实例,是系统实施调度的独立单位。  进程是系统分配资源和调度的基本单位,所以进程都有独立的资源和内存空间,别的进程部分随意访问。 android中每个app分配内存有限,如果到达上线很容易oom,使用多进程可以有效...

2017-09-06 12:09:28

阅读数 117

评论数 0

多线程相关知识

关于线程进程的理解一个例子: 进程:计算机核心cpu,如同一个工厂,时刻工作。但是工厂资源有限,一次只能运行一个车间(进程)。一个cup一次只能运行一个任务。 线程:一个车间里面包含很多员工,(线程)车间的空间对全部工人开发(每个线程都可以使用这些共享内存)。 但是空间有限,例如一个人在厕所...

2017-09-04 15:29:17

阅读数 131

评论数 0

解释器模式

解释器模式描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发的编译器中。它描述了如何为简单的语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子。 定义:给定一个语言,定义它的语法,并定义一个解释器,这个解释器用于解析语言。 就是相当于自定义一个格式的...

2017-08-21 16:54:52

阅读数 127

评论数 0

android国际化

最近做一些土耳其项目的国际化 string放入对应的反应文件后,发现一些特殊的字符无法正常识别,找一下解决方案。android 显示特殊符号的处理http://hsx9566.iteye.com/blog/1305052

2017-07-04 19:51:47

阅读数 196

评论数 0

Android图片加载-TakePhoto

TakePhoto https://github.com/crazycodeboy/TakePhoto 种的一个问题自定义UI 自定义状态栏 修改颜色后,如果选择图片就会还原原始的颜色, 后发现图片选择框架使用的MultipleImageSelect https://gith...

2017-06-20 16:00:55

阅读数 928

评论数 1

装饰模式

12.2 装饰模式概述 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为,在现实生活中,这种情况也到处存在,例如一张照片,我们可以不改变照片本身,给它增加一个相框,使得它具有防潮的功能,而且用户可以根据需要给它增加不同类型的相框,甚至可以在一个小相框的外面再套一个大...

2017-06-02 14:35:38

阅读数 157

评论数 0

组合模式

组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 组合模式使用面向对象的思...

2017-06-01 14:02:13

阅读数 119

评论数 0

桥接模式

定义: 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 例子: 两种常见文具的区别,它们是毛笔和蜡笔。大中小3种型号的画笔,能够绘制12...

2017-06-01 13:42:36

阅读数 146

评论数 0

适配器模式

适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

2017-05-31 13:18:20

阅读数 179

评论数 0

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