移动开发

Android layer-list 使用,并设置item的size(大小)

现在我们正在做一个简单的聊天功能,那必然我们会对每一句的聊天内容设计一个聊天气泡作为背景,设计稿如下: design-bubble.png 基于设计稿,很自然的我们会想到直接问UX要.9图,但是我们公司由UX部门不再同一个办公楼,本想让UX提供,沟通下来换来的是UX说已经提供了可以下载。但找来找去只发现设计稿提供了气泡的Tail。本来.9应该拿过来就可以用,但目前只提供Tail,不过

Android Framework - 学习起步

前言 作为一名合格的 Android 开发,需要学习 Framework 知识,来解决 App 稳定性相关的问题 Framework 的源码学习一般由 init.rc 开始看起,因为它是一个 Android 系统启动必备的重要脚本,之后的几大系统进程都是由它启动的,比如 zygote,systemserver 等,这里主要记录一些基本概念,以及 Zygote 启动的源码分析 Binder 原理是相

OAuth2生成token代码备忘

一、登录接口(用户名+密码) 1、前端请求auth服务 2、请求数据 { "mobile": "134178101xx", "password": "123456" } 3、Controller方法 @SneakyThrows @PostMapping("pwdLogin") @Sig

Java并发编程——ForkJoinPool之WorkQueue

一、ForkJoinPool ForkJoinPool 是 JDK7 引入的,由 Doug Lea 编写的高性能线程池。核心思想是将大的任务拆分成多个小任务(即fork),然后在将多个小任务处理汇总到一个结果上(即join),非常像MapReduce处理原理。同时,它提供基本的线程池功能,支持设置最大并发线程数,支持任务排队,支持线程池停止,支持线程池使用情况监控,也是AbstractExecut

ES6的Map、Set和ES7的Array.includes()、乘方

一、ES6 1.Set 1.Set的基本使用 在ES6之前,我们存储数据的结构主要有两种:数组、对象。 在ES6中新增了另外两种数据结构:Set、Map,以及它们的另外形式WeakSet、WeakMap 数据结构:存储数据的方式 Set是一个新增的数据结构,可以用来保存数据,类似于数组,但和数组最大的区别是 元素不能重复 创建Set我们需要使用Set构造函数(暂时没有字面量创建的方式)

由系统组成的系统

书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 目录 4.5 由系统组成的系统 1、由系统组成的系统 我们已经知道如何实现粒子对象, 也学会了如何实现粒子对象组成的系统,这个系统称为“粒子系统”,粒子系统就是由一系列独立对象组成的集合。 但粒子系统本身不也是一个对象? 如果粒子系统也是个对象,我们可以让这些

IOS之二进制重拍

原理 App包数据并不是在启动的时候一次全部加载到内存中的,而是类似于懒加载的方式,以每页16KB的数据进行分页加载。启动的时刻,也是缺页加载次数最多的时刻。因为启动用到的类和方法,并不是全部集中在某几页数据中,而是根据编译顺序,分散到不确定的分页数据中。我们做二进制重拍,也就是要让启动用到的函数,集中到最前边的几张表中,减少分页加载的次数,也就节约了启动时间。 那么为什么减少分页加载的次数,可以

541.【GraphQL】_typename千万不要写成一样的

这个问题我已经经历过两三次了:*graphql 服务端定义接口时,千万不要把每个接口中的_typename写成一样的。 在go语言中,graphql 的实现里头, 错误的示例如下: var responseDimensionReadingType = graphql.NewObject(graphql.ObjectConfig{ Name: "ResponseCommon", Fi

Android graphics(二) bufferqueue

一、前言 本文主要内容 1、bufferqueue 的四大流程; 2、简要介绍四大流程的调用过程; 本文主要讲解安卓图形绘制中的buffer queue 页面数据通过canvas/Open GL ES/vulkan绘制后,形成一帧buffer,交给buffer queue,buffer queue再把数据送到屏幕上显示。所以buffer queue是图形绘制中很核心的一环,它本身就是一个缓冲区