Ervin

真正的强者是认清了生活的本质,并且去热爱他的人。


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Android内存优化(一)

发表于 2018-11-30 | 分类于 技术
字数统计: 1.4k | 阅读时长 ≈ 5

Android内存优化(一)

在Android开发的时候,我们大部分使用的是java的api,但是对于移动端来说,内存是一个很敏感的资源,如果不注意的话很容易crash,而内存优化又没有一个可以立竿见影的东西说是使用了就会很显著的降低内存消耗,而是需要在代码中根据具体的使用场景来合理去优化,每个细节都做到了优化那么整体的性能当然就会提升。所针对Android这种移动平台,也推出了更符合自己的api,比如SparseArray(稀疏数组)以及ArrayMap用来代替HashMap,在某些情况下合理使用会带来更好的性能提升。

阅读全文 »

Mac下的常用命令行

发表于 2018-11-30 | 分类于 技术
字数统计: 257 | 阅读时长 ≈ 1

查看IP

1
2
3
$curl ip.gs

$ifconfig
阅读全文 »

kotlin之object详解

发表于 2018-11-28 | 分类于 技术
字数统计: 1.7k | 阅读时长 ≈ 7

在写kotlin代码的时候,特别是在写Rxjava的时候经常会碰到(object:类名称)这样的表达式,完全不知道怎么回事,故搜集了些资料彻底搞清楚kotlin中object的含义。

object是kotlin中的一个重要关键字,也是java中没有的。object主要有以下三种使用场景:

  1. 对象声明(Object Decalaration)
  2. 伴生对象(Companion Object)
  3. 对象表达式(Object Expression)– 上面提到的就是这种
阅读全文 »

怎么用Kotlin去提高生产力:Kotlin Tips

发表于 2018-11-23 | 分类于 技术
字数统计: 10.7k | 阅读时长 ≈ 46

目录

  • Tip1-更简洁的字符串
    • 1、三个引号 2、字符串模版
  • Tip2-Kotlin中大多数控制结构都是表达式
    • 1、语句和表达式 2、if 3、when
  • Tip3-更好调用的函数:显式参数名及默认参数值
    • 1、显式参数名 2、默认参数值 3、@JvmOverloads
  • Tip4-扩展函数和属性
    • 1、扩展函数 2、扩展属性
  • Tip5-懒初始化bylazy和延迟初始化lateinit
    • 1、by lazy 2、lateinit
  • Tip6-不用再手写findViewById
    • 1、Activity 2、子View或者include标签 3、Fragment
  • Tip7-利用局部函数抽取重复代码
    • 1、局部函数 2、扩展函数
  • Tip8-使用数据类来快速实现model类
  • Tip9-用类委托来快速实现装饰器模式
  • Tip10-Lambda表达式简化OnClickListener
  • Tip11-with函数来简化代码
  • Tip12-apply函数来简化代码
  • Tip13-在编译阶段避免掉NullPointerException
    • 1、可空和不可空类型 2、let 3、Elvis操作符
  • Tip14-运算符重载
  • Tip15-高阶函数简化代码
  • Tip16-用Lambda来简化策略模式
    阅读全文 »

寒冬将至,Android的出路

发表于 2018-11-14 | 分类于 文章
字数统计: 2.3k | 阅读时长 ≈ 7

本文摘自CSND的《寒冬已至?四面楚歌的Android工程师该何去何从》,对于文中的一些观点比较认同,转载部分。

Android开发的天花板

很多人觉得很多人会觉得Android技术深度不深,技术栈不庞大,Android职业发展有限,这个真是大大的误解。先说技术上,Android的技术栈随着时间的推移变得越来越庞大,细分领域也越来越多,主要有Android应用开发、逆向安全、音视频、车联网、物联网、手机开发和SDK开发等等,每个细分领域都有很多技术栈组成,深度都足够精深,就拿所有细分领域通用的Android系统底层源码来说,就会叫你学起来生不如死。

阅读全文 »

小程序之CSS入门

发表于 2018-11-09 | 分类于 技术
字数统计: 651 | 阅读时长 ≈ 2

详解css中的display属性(行内元素和块级元素)

首先,所有主流浏览器都支持display属性。其次,display属性规定了元素应该生成的框的类型。默认值:inline

我们常用的display属性有:

  1. inline
  2. block
  3. inlien-block
  4. none
阅读全文 »

Java网络编程中的TCP和UDP通信方式简介

发表于 2018-11-03 | 分类于 技术
字数统计: 2.5k | 阅读时长 ≈ 9

主要通过以下几个方面来解释两种方式的区别(enough talk and let’s look at some code)

  1. TCP方式和UDP的区别
  2. TCP的上层应用Socket实现:Socket,ServerSocket以及代码实现
  3. UDP的上层应用Socket实现:DatagramSocket,DatagramPacket以及代码实现

阅读全文 »

HEXO+Github搭建个人Blog

发表于 2018-10-24 | 分类于 技术
字数统计: 738 | 阅读时长 ≈ 2

HEXO背景

hexo是基于NodeJS的静态博客框架,简单,轻量,其生成的静态页面可以托管在Github或者Heroku上面

  • 超快部署
  • 支持MarkDown
  • 一键部署
  • 丰富的插件

下面以我的Blog为例,记录搭建过程。

阅读全文 »

Android存储

发表于 2018-10-22 | 分类于 技术
字数统计: 735 | 阅读时长 ≈ 2

Android存储路径

先来看一张大图:

image

阅读全文 »

思维的误区-幸存者偏见

发表于 2018-10-21 | 分类于 文章
字数统计: 3.7k | 阅读时长 ≈ 12

何为“幸存者偏见”

“幸存者偏见”,洋文写作“survivorship bias”或“survival bias”,维基百科的链接在“这里”。这玩意儿属于“认知偏差”的一种。(关于“认知偏差”这个话题,俺博客上曾经写过几篇,比如:“沉没成本谬误”、“光环效应”、“从众心理”)。

   如果用一句通俗的话来概括“幸存者偏见”,就是【死人没法开口】。如果要说得更具体点,那就是:
当你在分析某个事物的时候,可能会面对诸多的证据(样本)。但是大多数人通常只注意到【显式】的样本和证据,而忽略了【隐式】的样本和证据。从而得出错误的认知、错误的结论。
为了更形象一些,俺来说一下“幸存者偏见”的出处——古罗马的西赛罗(与凯撒同时代的知名政治家、文学家、演说家)讲过一个故事,大意如下:

有一群宗教信徒在某次沉船事故中幸存。幸存后捏,他们就找人作画(画面上是一群人在事故中祈祷),以此来宣扬说:因为他们作了虔诚的祷告,所以才在沉船事故中幸存。
某信徒拿了这幅画给一个无神论者看。这个无神论者直接反问道:那些祈祷之后淹死的人,他们的画像在哪里?

阅读全文 »
1…789
Ervin Zhang

Ervin Zhang

stay hungry, stay foolish

86 日志
3 分类
60 标签
RSS
GitHub E-Mail Twitter
© 2026 Ervin Zhang | Site words total count: 112.2k
本站访客数:次 |
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4