自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android优化之多进程的使用详解

最近发现项目的一个界面里面逻辑特别复杂,页面的层级和结构也特复杂。页面大致是有进入这个界面是看见一个夹杂动画的封面,动画开始的同时走网络,然后加载html,然后加载个底部弹幕,底部一行一行往上弹弹幕,里面包含了许多自定义的控件,最后导致页面会有点小卡顿,让人感觉很不爽,之后决定搞它。多进程的好处:减少OOM的发生,每个进程的资源分配是有限的,资源的占用过多就会发生OOM,开启另一个线层可以分担主线...

2018-04-12 17:19:39 315

原创 Android优化之内存泄漏

最近公司要求优化项目,于是就检查了自己负责的代码,然后总结了一些内存泄漏的几种情况。java是垃圾回收语言的一种,优点是开发者无需关心管理内存,缺点就是容易内存泄漏,容易浪费掉未释放的内存。造成内存泄漏的原因:逻辑内存泄漏(logical memory leak)的原因是:当应用不再需要这个对象,但是仍未释放该对象的所有引用。一般内存泄漏(traditional memory leak)的原因是:...

2018-04-08 17:35:47 245

原创 Kotlin学习日记(十)Kotlin函数式编程相关知识

尾递归函数kotlin 支持函数式编程的尾递归。这个允许一些算法可以通过循环而不是递归解决问题,从而避免了栈溢出。当函数被标记为 tailrec 时,编译器会优化递归,并用高效迅速的循环代替它。一种特殊的递归调用自身后无其他操作是进行了优化的循环 tailrec fun findListNode(head: ListNode?, value: Int): ListNode?{ head?:...

2018-03-15 17:55:21 223

原创 Kotlin学习日记(九)集合和函数操作符

这个直接复制kotlin-for-android-developers-zh里面的内容了。集合和函数操作符 Kotlin也提供了一些你希望用的本地的接口:Iterable:父类。所有我们可以遍历一系列的都是实现这个接口。MutableIterable:一个支持遍历的同时可以执行删除的Iterables。Collection:这个类相是一个范性集合。我们通过函数访问可以返回集合的size、是否为空...

2018-03-15 16:59:30 199

原创 Kotlin学习日记(八)常见的高阶函数

重点介绍let,apply,run,with,repeat这几个。let默认当前这个对象作为闭包的it参数,返回值是函数里面最后一行,或者指定return"Hellow World".let { println(it) if(it.length > 5){ println("太长了") return 1 ...

2018-03-15 16:50:53 300

原创 kotlin学习日记(七)函数式编程

函数式编程(FP)啥是函数式编程?函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。这是百度百科的解释。和指令式编程相比,函数式编程的思维方式更加注重函数的计算。它的主要思想是把问题的解决方案写成一系列嵌套的函数调用。详细的资料这些都不介绍了,网上一搜一大堆,可以看看...

2018-03-15 14:54:47 261

原创 Git常用命令

整理了一下平时常用的git命令,平时开发基本上是够了。克隆项目 git clone 服务器地址查看远程仓库git remote -v添加远处地址git remote add origin 服务器地址下拉代码git pull rebase提交代码git push origin test:master 提交本地test分支作为远程master分支git push origin test:test 提...

2018-03-14 17:52:34 154

原创 kotlin学习日记(六)类的代理模式

在代理模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。代理模式是一项基本技巧,许多其他的模式,如状态模式、策略模式、访问者模式本质上是在特殊的场合采用了代理模式。代理模式使得我们可以用聚合来替代继承,它还使我们可以模拟mixin(混合类型)。委托模式的作用是将委托者与实际实现代码分离出来,以达成解耦的目的。像是(三)里面写的延时初始化成员变量的时候所用到的lazy...

2018-03-14 17:17:24 396

原创 Kotlin学习日记(五)类的多种多样

类有自己的一些特性,有些类有特有的功能,都是为了更好地解决问题。枚举类跟Java和其他语言的枚举类功能是一样的,可能用法和语法规则上有所不同。enum class LogLevel(val id: Int){ VERBOSE(0), DEBUG(1), INFO(2), WARN(3), ERROR(4), ASSERT(5); fun getTag(): String{ ...

2018-03-14 16:39:13 190

原创 Kotlin学习日记(四)抽象类与接口

抽象类含有抽象函数、用abstract来修饰的的类成为抽象类。举个例子:abstract class Preson(var name:String,var age:Int){ abstract var weight abstract var gender abstract fun doJob() open fun eat(){ pringln("急头白脸一顿吃") ...

2018-03-14 15:14:28 319

原创 Kotlin学习日记(三)类与类的继承

创建一个类class Preson(var name:String , var age:Int)//创建一个类 已经包含了构造方法 属性 get、set方法class Preson (var name:String, var age:int){init{//...//需要对构造方法进行拓展 在这里进行拓展}}次构造方法class Person { construc...

2018-03-13 16:50:03 176

原创 Kotlin学习日记(二)程序结构介绍

上一篇讲了Kotlin的介绍和基本数据类型,这一篇讲讲程序的结构。函数(function)fun 关键字代表声明函数例子:fun add(var a:Int, var b:Int): Int{return a+b} 或者 fun add(var a:int. var b:int) :Int = a + b 在java中函数的重写是根据传入的参数 来实现不同的操作 在kotlin中可以...

2018-03-13 15:36:58 173

原创 Kotlin学习日记(一)Kotlin介绍与数据类型

之前就听说Kotlin的一些新的特性,一直感到好奇,最近打算学习一下,看看这门语言到底有什么神奇的地方和存在哪些坑。入门之前怎么都得了解一下这东西是干什么的、有什么用,要不学来干嘛(๑•ᴗ•๑)所以先了解一下这门语言的用途:Kotlin的用途Kotlin Script。可以用来写Kotlin脚本,Gradle3.0开始部分支持Kotlin脚本,尚在完善中。Java虚拟机应用:①Web应用,Kotl...

2018-03-12 17:18:17 328

空空如也

空空如也

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

TA关注的人

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