我的梦想
不是每个人都应该像我这样去建造一座水晶大教堂,但是每个人都应该拥有自己的梦想,设计自己的梦想,追求自己的梦想,实现自己的梦想。梦想是生命的灵魂,是心灵的灯塔,是引导人走向成功的信仰。有了崇高的梦想,只要矢志不渝地追求,梦想就会成为现实,奋斗就会变成壮举,生命就会创造奇迹。——罗伯·舒乐
  推荐文章
Android

Android-H5首屏秒开优化方案

Android-H5首屏秒开优化方案一、遇到的问题 在实现阅读APP从原生渲染迁移到webview渲染过程中,发现WebView第一加载会出

阅读更多
Android

Android中Retrofit2框架源码解析

Android中Retrofit2框架源码解析一、Retrofit简介1、阐述 Retrofit是一个基于Restful的HTTP网络请求框

阅读更多
Android

Android中ANR分析以及出现场景

ANR分析以及出现场景ANR全称Application Not Response, 应用程序无响应。当应用5s内对用户的输入或点击事件无响应

阅读更多
Android

Android中AsyncTask源码解析

Android中AsyncTask源码解析一、AsyncTask描述 AsyncTask是一种轻量级的异步任务处理类,它可以在线程池中执行后

阅读更多
Android

Android中Gradle原理以及机制深入分析

Android中Gradle原理以及机制深入分析一、Gradke构建流程 Gradle的构建主要分为三个阶段: 1、初始化阶段(Initl

阅读更多
Android

Android中Gradle常用的配置

Android中Gradle常用的配置1、Gradle是什么? Gradle是一个自动化构建工具 兼容Maven等仓库 基于Groovy的

阅读更多
Android

Android中HandlerThread源码解析

Android中HandlerThread源码解析一、HanlderThread介绍 HandlerThread这个类的本质就是一个Thre

阅读更多
Android

Android中Gradle的使用指南

Android中Gradle的使用指南一、Android工程中的Gradle 下面简述对我们工程最重要的几个Gradle文件,后续也会围绕他

阅读更多
Android

Android中IntentService源码解析

Android中IntentService源码解析一、IntentService的介绍 IntentService是一种特殊的Service

阅读更多
Android

Android中卡顿分析和优化

卡顿分析和优化我们都知道手机目前最合适的显示60fps, 也就是每秒刷新60帧,这也是也是绝大部分Android设备设置的调试频率。那么绘制

阅读更多
Android

Android中消息机制与Handler源码解析

Android中消息机制与Handler源码解析 Android中消息机制构成整个Android系统的应用运行基础,我们都知道在每个应用主U

阅读更多
Android

Android中的ArrayMap源码解析 - Android - 面试 - 框架源码解析

Android中的ArrayMap源码解析一、概述ArrayMap实现Map<K,V>接口,所以它也是一个关联数组和哈希表。存储

阅读更多
Android

Android中的SparseArray源码解析

Android中的SparseArray源码解析一、概述 在Android平台中,更推荐使用SparseArray<E>来替代H

阅读更多
Android

Android线程池ThreadPoolExecutor源码解析

Android线程池ThreadPoolExecutor源码解析一、ThreadPoolExecutor介绍1、定义 ThreadPoolE

阅读更多
Android

Android中线程Thread源码解析

Android中线程Thread源码解析一、Thread的介绍 Thread线程是进程中的独立运行的子任务。线程是CPU调度的最基本的单元,

阅读更多
Android

Android布局、网络、电量、APP启动、APP瘦身分析和优化

Android布局、网络、电量、APP启动、APP瘦身分析和优化一、布局优化 布局优化的一个目的也就是减少层级的嵌套,提高渲染,从而避免卡顿

阅读更多
Android

Android性能优化之Bitmap优化

Android性能优化之Bitmap优化一、Bitmap内存模型 1、Android 2.2(API8)之前,当GC工作时,应用的线程会暂

阅读更多
Android

Android性能优化之LeakCanary内存泄漏检测原理分析

LeakCanary内存泄漏检测原理分析一、LeakCanary原理介绍 LeakCanary如何检测内存泄漏的呢?主要分为7步: 1、R

阅读更多
Android

Android性能优化之内存优化

Android性能优化之内存优化一、内存泄漏(Memory Leak) 对于Java来说new出来的Object在Heap堆上无法被GC回收

阅读更多
Android

Android性能优化之内存管理

Android性能优化之内存管理一、内存分配说到Android的内存分配,就不得不提Java中的内存管理。Java程序在运行时将数据划分为若

阅读更多
Android

Android性能优化之内存泄漏分析

Android性能优化之内存泄漏分析一、简述 对于C++来说,内存泄漏就是new出来的对象没有delete,俗称野指针。对于Java来说,就

阅读更多
Android

Android性能优化相关面试题

Android性能优化相关面试题1、要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用

阅读更多
Android

Android中BlockCanary原理分析

BlockCanary原理分析一、背景在Android开发中,经常会遇到应用程序卡顿的情况,对于卡顿问题的出现,有时候很难去复现和定位。卡顿

阅读更多
Dart

Dart语法篇之函数的使用(四)

简述: 在上一篇文章中我们详细地研究了一下集合有关内容,包括集合的操作符的使用甚至我们还深入到源码实现原理,从原理上掌握集合的使用。那么这

阅读更多
Dart

Dart语法篇之基础语法(一)

简述: 又是一段新的开始,Dart这门语言相信很多人都是通过Flutter这个框架才了解的,因为Flutter相比Dart更被我们所熟知。

阅读更多
Dart

Dart语法篇之类型系统与泛型(七)

简述: 下面开始Dart语法篇的第七篇类型系统和泛型,上一篇我们用了一篇Dart中可空和非空类型译文做了铺垫。实际上,Dart中的类型系统是

阅读更多
Dart

Dart语法篇之集合的使用与源码解析(二)

简述: 我们将继续Dart语法的第二篇集合,虽然集合在第一篇中已经介绍的差不多,但是在这篇文章中将会更加全面介绍有关Dart中的集合,因为之

阅读更多
Kotlin

Dart语法篇之集合操作符函数与源码分析(三)

简述: 在上一篇文章中,我们全面地分析了常用集合的使用以及集合部分源码的分析。那么这一节讲点更实用的内容,绝对可以提高你的Flutter开

阅读更多
Dart

Dart语法篇之面向对象继承和Mixins(六)

简述: 上一篇文章中我们详细地介绍了Dart中的面向对象的基础,这一篇文章中我们继续探索Dart中面向对象的重点和难点(继承和mixins

阅读更多
Kotlin

Effective Kotlin系列之考虑使用静态工厂方法替代构造器(一)

翻译说明: 原标题: Effective Java in Kotlin, item 1: Consider static factory m

阅读更多
Kotlin

Effective Kotlin系列之遇到多个构造器参数要考虑使用Builder(二)

翻译说明: 原标题: Effective Java in Kotlin, item 2: Consider a builder when f

阅读更多
Kotlin

Effective Kotlin系列之探索高阶函数中inline修饰符(三)

简述: 不知道是否有小伙伴还记得我们之前的Effective Kotlin翻译系列,之前一直忙于赶时髦研究Kotlin 1.3中的新特性。把

阅读更多
Kotlin

Effective Kotlin系列之使用Sequence来优化集合的操作(四)

简述: 今天迎来了Effective Kotlin系列的第四篇文章: 使用Sequence序列来优化大集合的频繁操作.关于Sequence这

阅读更多
Kotlin

Effective Kotlin系列之考虑使用原始类型的数组优化性能(五)

翻译说明: 原标题: Effective Kotlin: Consider Arrays with primitives for perfo

阅读更多
Android

Glide源码分析之生命周期绑定(一)

Glide源码分析之生命周期绑定(一)一、几大主流图片加载框架对比1、Glide 1、多种图片格式的缓存,适用于更多的内容表现形式(如Gi

阅读更多
面试

JVM面试题

JVM相关面试题 1、内存模型以及分区,需要详细到每个区放什么? JVM运行时数据分区有5块主要为: 方法区(线程共享)、堆区(线程共享)

阅读更多
Java

Java中反射源码解析

Java中反射源码解析一、反射原理阐述1、从应用层角度 在JVM类型的编程语言中,任何一个编译好的类都会生成class文件, 在被类加载器加

阅读更多
Java

Java中ArrayList源码解析

Java中ArrayList源码解析一、ArrayList介绍ArrayList是Java和Android开发中使用最为频繁的一种集合。它的

阅读更多
Java

Java中的HashMap和ConcurrentHashMap源码解析

Java中的HashMap和ConcurrentHashMap源码解析一、HashMap与HashTable区别 1、线程是否安全: Has

阅读更多
Java

Java中的Vector源码解析

Java中的Vector源码解析一、Vector介绍Vector 是一个矢量队列,它的继承关系和ArrayList是一样的,同样实现了Ran

阅读更多
Kotlin

Kotlin中关于Companion Object的那些事

翻译说明: 原标题: A few facts about Companion objects 原文地址: https://blog.kotl

阅读更多
Kotlin

Kotlin中内联类的自动装箱和高性能探索(二)

翻译说明: 原标题: Inline Classes and Autoboxing in Kotlin 原文地址: https://typea

阅读更多
Kotlin

Kotlin中是应该使用序列(Sequences)还是集合(Lists)

翻译说明: 原标题: Sequences — a Pragmatic Approach 原文地址: https://proandroidde

阅读更多
Kotlin

在Kotlin中是应该定义函数还是定义属性?

翻译说明: 原标题: Kotlin: should I define Function or Property? 原文地址: https:/

阅读更多
Kotlin

Kotlin中的龟(List)兔(Sequence)赛跑

翻译说明: 原标题: Kotlin : Slow List and Lazy Sequence 原文地址: https://medium.c

阅读更多
Kotlin

Kotlin官方文档翻译-内联类

简述: 这几天突然没更新文章了,可能有的小伙伴认为寒冬将至,是不是认为我跑路了(哈哈,确实不是哈,这几天感冒挺厉害的,再加上前几天连续熬夜写

阅读更多
Kotlin

Kotlin的独门秘籍Reified实化类型参数-上篇

简述:(今天扯点不一样的东西)本篇已经是Kotlin泛型系列第三篇了,先来回顾下前面两篇分别讲的是泛型中的类型形参和类型实参以及什么时候该使

阅读更多
Kotlin

Kotlin的独门秘籍Reified实化类型参数(下篇)

简述:今天我们开始接着原创系列文章,首先说下为什么不把这篇作为翻译篇呢?我看了下作者的原文,里面讲到的,这篇博客都会有所涉及。这篇文章将会带

阅读更多
Android

Android Native与Web JS双向通信框架-PieBridge

Android Native与Web JS双向通信框架-PieBridge Android Native与Web JS双向通信框架 一、框

阅读更多
数据结构与算法

bytedance算法题集

bytedance1、最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输

阅读更多
面试

Kotlin面试题

Kotlin相关面试题1、Kotlin中的var和val区别 1、var(来自于variable)可变引用。并且被它修饰的变量的值是可以改

阅读更多
数据结构与算法

二分查找

二分查找一、时间复杂度最坏时间复杂度 O(log n) 最优时间复杂度 O(1) 平均时间复杂度 O(log n) 二、基本思想在一个有序的

阅读更多
面试

Android和Java多线程面试题

Android、Java多线程面试题1、run()和start()方法区别 这个问题经常被问到,但还是能从此区分出面试者对Java线程模型的

阅读更多
Kotlin

如何在你的Kotlin代码中移除所有的!!非空断言

翻译说明: 原标题: How to remove all !! from your Kotlin code 原文地址: https://an

阅读更多
Kotlin

带你揭开Kotlin中属性代理和懒加载语法糖衣

翻译说明: 原标题: How Kotlin’s delegated properties and lazy-initialization w

阅读更多
面试

MVP通信方案的思考

MVP通信方案的思考一、简述MVC、MVP、MVVM区别市面上关于MVC、MVP、MVVM各种实现方案都不一样,下面简要说下MVC、MVP、

阅读更多
面试

UI组件化方案的思考

UI组件化方案的思考一、 背景 平时在开发大量业务的时候,是否经常会有这样感受: 这个页面貌似以前写过,这块UI界面和我之前写的太像了吧。你

阅读更多
面试

基于用户行为事件开发自测模式思考

基于用户行为事件开发自测模式思考一、简述 在开发过程中,每个开发者必须保证代码质量。保证开发代码质量实际上在开发阶段各个环节,主要包括三个环

阅读更多
面试

文本引擎框架(TextEngine)渲染迁移至WebView文本渲染

由TextEngine原生渲染迁移至WebView渲染 一、背景现状应项目需要在原有渲染技术基础上(支持普通文本渲染、图片渲染、链接等,渲染

阅读更多
面试

Android组件化通信方案

Android组件化通信方案一、背景随着业务规模不断扩大,模块化和组件化必将是一个很大的趋势。组件化的基础就是模块化,不断将业务进行拆分,按

阅读更多
Kotlin

掌握Kotlin中的标准库函数

翻译说明: 原标题: Mastering Kotlin standard functions: run, with, let, also a

阅读更多
数据结构与算法

排序

一、排序算法阐述算法里边最常用也是最基本的就是排序算法和查找算法了,本文主要讲解算法里边最经典的十大排序算法。在这里我们根据他们各自的实现原

阅读更多
Kotlin

探索Kotlin中隐藏的性能开销-Part 1

翻译说明: 原标题: Exploring Kotlin’s hidden costs — Part 1 原文地址: https://medi

阅读更多
Kotlin

探索Kotlin中隐藏的性能开销-Part 2

翻译说明: 原标题: Exploring Kotlin’s hidden costs — Part 2 原文地址: https://medi

阅读更多
Kotlin

探索Kotlin中隐藏的性能开销-Part 3

翻译说明: 原标题# Exploring Kotlin’s hidden costs — Part 3 原文地址: https://medi

阅读更多
Kotlin

有关Kotlin类型别名(typealias)你需要知道的一切

翻译说明: 原标题: All About Type Aliases in Kotlin 原文地址: https://typealias.co

阅读更多
数据结构与算法

树与二叉树

树与二叉树一、树的基本概念1、树的定义树是数据元素之间具有层次关系的非线性结构,定义树的一种自然方式就是递归的方式。一棵树是由一些结点组成的

阅读更多
面试

计算机网络面试题

计算机网络相关面试题1、网络分层 OSI七层模型OSI七层协议模型主要是: 应用层(Application) 表示层(Presentatio

阅读更多
Java

设计模式之代理模式

设计模式之代理模式一、介绍代理模式(Proxy Pattern),又称委托模式,顾名思义就是一个对象的实现委托给另一个代理对象来实现供外部调

阅读更多
Java

设计模式之单例模式

设计模式之单例模式一、模式介绍 单例模式是开发者最为常见的一种设计模式,也是23种设计模式中最为简单一种设计模式。大部分的开发者都知道它的使

阅读更多
数据结构与算法

链表

链表一、链表的定义链表是一种递归的数据结构,是一种线性结构,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Poin

阅读更多
数据结构与算法

剑指Offer

剑指Offer1、二维数组中的查找(1) 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到

阅读更多
剑指Offer 剑指Offer
剑指Offer1、二维数组中的查找(1) 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解
Android中Retrofit2框架源码解析 Android中Retrofit2框架源码解析
Android中Retrofit2框架源码解析一、Retrofit简介1、阐述 Retrofit是一个基于Restful的HTTP网络请求框架(实际上内部真正网络请求是交由OkHttp去实现的),换句话说Retrofit实际上是一个负责网络
2020-02-03
bytedance算法题集 bytedance算法题集
bytedance1、最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,”flow”,”flight”]输出: “fl”示例 2: 输入: [“d
排序 排序
一、排序算法阐述算法里边最常用也是最基本的就是排序算法和查找算法了,本文主要讲解算法里边最经典的十大排序算法。在这里我们根据他们各自的实现原理以及效率将十大排序算法分为两大类: 非线性比较类排序:非线性是指算法的时间复杂度不能突破(nlog
链表 链表
链表一、链表的定义链表是一种递归的数据结构,是一种线性结构,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer),简单来说链表并不像数组那样将数组存储在一个连续的内存地址空间里,它们可以不是连续的因为他们
二分查找 二分查找
二分查找一、时间复杂度最坏时间复杂度 O(log n) 最优时间复杂度 O(1) 平均时间复杂度 O(log n) 二、基本思想在一个有序的列表中,要查找的数与列表中间的位置相比,若相等说明找到了,若要查找的数大于列表中间的数,说明要查找的
Java中ArrayList源码解析 Java中ArrayList源码解析
Java中ArrayList源码解析一、ArrayList介绍ArrayList是Java和Android开发中使用最为频繁的一种集合。它的底层数据结构是动态数组,并且是线程不安全,允许元素为null. ArrayList类结构如下: //
2020-01-02
Java中的HashMap和ConcurrentHashMap源码解析 Java中的HashMap和ConcurrentHashMap源码解析
Java中的HashMap和ConcurrentHashMap源码解析一、HashMap与HashTable区别 1、线程是否安全: HashMap 是非线程安全的,HashTable 是线程安全的;HashTable 内部的方法基本都经过
2020-01-02
Java中的Vector源码解析 Java中的Vector源码解析
Java中的Vector源码解析一、Vector介绍Vector 是一个矢量队列,它的继承关系和ArrayList是一样的,同样实现了RandomAccess标记接口,用来表明其支持快速(通常是固定时间)随机访问。此接口的主要目的是允许一般
2020-01-02
Android中Gradle原理以及机制深入分析 Android中Gradle原理以及机制深入分析
Android中Gradle原理以及机制深入分析一、Gradke构建流程 Gradle的构建主要分为三个阶段: 1、初始化阶段(Initlization) 读取setting.gradle,分析出项目包含的project(include的
2020-01-01
1 / 8