JQuery中$()函数的7种用法总结

前言 最近项目中需要用到jQuery,而jQuery中最重要的概念应该就是这个$符号了,特意总结了下$()函数的几种用法。 jQuery对象是一个类数组的对象,含有连续的整形属性以及一系列的jQuery方法。它把所有的操作都包装在一个jQuery()函数中,形成了统一(也是惟一)的操作入口。其中我...

2019-04-15 17:44:36

阅读数 10

评论数 0

安卓进阶(13)之离奇bug

PS:此贴会持续更新,记录我平时遇到的比较坑爹的bug LoaderManager.LoaderCallbacks 前提: 数据源从始至终都没有变化! 问题: 当我的compileSdkVersion为27及以下时,onLoadFinished()只会调用一次,但是当我的compileSdkVer...

2019-03-08 12:05:22

阅读数 33

评论数 0

安卓进阶(12)之自定义数字键盘

想要源码的请戳这里:源码地址 实现效果 实现原理 概括:数字键盘View用Popuwindow来呈现,通过监听Activity/Dialog中Window的decorView焦点改变事件,以及EditText中的tag属性,来动态显示自定义的数字键盘。在Dialog中弹出自定义数字键盘,需要动态...

2019-01-30 15:05:56

阅读数 102

评论数 0

ArrayList 原理解析

PS: 前阵子面试,被问到ArrayList的原理,我是一脸懵逼。ArrayList是我们在java语言当中,最常用的一个容器类了。我只知道ArrayList是基于数组的,但是让我说明白ArrayList的原理,当时还真没说出来,所以赶紧补了下,写个帖子(主要讲构造函数,添加对象,删除对象,查询对...

2018-11-27 17:43:30

阅读数 60

评论数 0

安卓进阶(11)之UI适配解决方案

博客内容 有些UI设计师给到我们的设计图的宽的单位是px(比如1080*1920),有的给到我们的的单位是dp(比如360dp),我们没法保证设计师到底给出哪一种,而且,给到我们的设计图的尺寸,我们除了适配常规的尺寸,还得适配非常规的手机分辨率。那具体我们应该怎么去做适配呢? 看了几篇帖子,都是人...

2018-10-24 14:32:40

阅读数 185

评论数 0

安卓进阶(10)之OkHttp3.10连接层原理解析

参考文章 OkHttp3源码解读四:连接层 TCP连接与OKHTTP复用连接池

2018-10-22 19:39:30

阅读数 73

评论数 0

安卓进阶(9)之各种排序算法

目前在看排序算法有:冒泡排序,选择排序,插入排序,快速排序,归并排序。后面两种有递归操作,还没完成理解,先打个样,后面有时间再来琢磨~ 冒泡排序算法 public class BubbleSort { static final String TAG = "BubbleS...

2018-10-19 10:22:58

阅读数 73

评论数 1

安卓进阶(8)之Okhttp3.10缓存层原理分析

博客流程 用一个demo展示Okhttp如何对接口数据进行缓存; 讲解Okhttp数据缓存的流程以及原理。 demo示例 设置接口数据缓存可以有两种方式,一种是添加拦截器,另外一种是直接在Request.Builder类中设置cacheControl: OkHttpClient client ...

2018-10-18 13:57:36

阅读数 252

评论数 0

安卓进阶(7)之OkHttp3.10拦截器原理解析

博客流程 用一个demo介绍如何添加自定义的拦截器; 介绍拦截器是怎么产生拦截效果的; 介绍okhttp里自带的各个拦截器的原理。 添加自定义的log拦截器 在使用okhttp时,我们可能需要获取到okhttp的log日志,请求参数以及响应参数和数据。我们用一个小的demo来展示一下: OkH...

2018-10-15 19:01:37

阅读数 273

评论数 0

安卓进阶(6)之OkHttp整体架构/基本使用/OkHttpClient原理解析

整体架构图 Okhttp可以分为上层应用接口层,协议层,连接层,缓存层,I/O层,拦截器层。接口层就是我们上层开发人员调用的一些接口和API。连接层是核心,连接池以及网络请求优化都在这里面了。拦截器和缓存层是重点,比如我们要加log日志,这时候加一个拦截器。OkHttp的整体架构图如图所示: 基...

2018-10-12 11:48:48

阅读数 257

评论数 0

安卓进阶(5)之消费者/生产者模式的3种实现方式

实现的接口 /** * 作者:luoxiaohui * 日期:2018/10/9 09:02 * 文件描述: 接口,消费和生产方法 */ public interface Person { void consume(String personName) throws Interr...

2018-10-09 11:37:40

阅读数 442

评论数 1

安卓进阶(4)之线程池以及多线程并发原理

安卓中使用线程池的场景 常规接口网络请求数据; 静态文件(图片)流下载; 日志上传。 为什么要使用线程池 管理线程,不需要频繁创建和销毁,实现最高程度的线程的复用。 ...

2018-10-06 15:19:54

阅读数 189

评论数 0

安卓进阶(3)之Handler/Looper/MessageQueue源码分析以及原理理解

前言 安卓系统是消息驱动的,所以深刻了解Handler整个消息分发机制,对于我们了解安卓系统,是一个必不可少的知识点。整个过程中,我们需要重点关注的类是: 1. Handler 2. Looper 3. MessageQueue 4. Meesage 5. ThreadLocal 6. T...

2018-09-20 19:09:38

阅读数 417

评论数 2

安卓进阶(2)之android Binder通信理解

关键字 aidl 进程间通信 binder机制 aidl 全名安卓接口定义语言,用于进程间通信。简单理解的话,就是类似应用的服务器和客户端。服务器开启一个服务处理数据,客户端传递数据以及响应回调。具体使用方法见AndroidStudio实现AIDL。建议自己跟着文章手写一遍,并细看b...

2018-09-06 19:59:43

阅读数 56

评论数 0

安卓进阶(1)之从Glide缓存算法到了解java数据结构

Glide图片缓存分为三级:内存缓存,磁盘缓存,网络加载。 其中,内存缓存使用的机制是LRU算法+弱引用机制,磁盘缓存采用的是LRU算法。 关键字 LRU算法(近期最少使用算法) LinkHashmap=HashMap+双向链表 HashMap原理 双向链表和单向链表区别 参考文章...

2018-09-06 14:08:30

阅读数 441

评论数 0

安卓性能优化(3)之三大内存泄漏检测工具

三大内存泄漏检测工具: LeakCanary StrictMode Android Profiler 常见内存泄漏 单例中持有context; 非静态内部类; handler; 子线程; IO等资源未关闭。 LeakCanary使用说明 在build.gradle添加如下...

2018-08-17 15:51:04

阅读数 1181

评论数 0

安卓性能优化(2)之内存优化详解

( PS:这里是在不考虑内存泄漏的前提下来讨论的。) jvm浅析 java的jvm的内存可分为3个区: 栈区(stack): 每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中。 每个栈中的数据(原始类型和对象引用)都是私有的,其...

2018-08-13 20:40:37

阅读数 599

评论数 0

安卓性能优化(1)之冷启动 热启动详解

应用启动方式 通常来说,启动方式分为两种:冷启动和热启动。   1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。   2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的...

2018-08-10 09:31:50

阅读数 253

评论数 0

区块链学习(8) EOS环境安装和智能合约部署实战(绝对干货!)

硬件配置 操作系统要求 1. Amazon 2017.09 and higher 2. Centos 7 3. Fedora 25 and higher (Fedora 27 recommended) 4. Mint 18 5. Ubuntu 16.04 LTS (Ubuntu 16.10...

2018-06-27 09:47:37

阅读数 1356

评论数 0

golang中defer理解

defer简单使用 package main import "fmt" func main() { defer goodmorning() defer goodafternoon() fmt.Println("H...

2018-05-16 13:56:49

阅读数 132

评论数 0

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