自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小风筝

云在何处?牧童遥指杏花村

  • 博客(76)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 Web和Android中的Reactive

什么是响应式,命令式,声明式?Android中的setText这些模式是什么模式?React、Vue,JQuery 分别有何不同?ReactiveX你了解嘛?还记得RxJava,RxAndroid 嘛?

2019-07-30 22:14:35 530

原创 Web开发可以可以借鉴的那些思想

> 自己从18年11月份接触Web项目,学习Web开发的一些知识。发现了很多在Android客户端中一些很难接触到的东西。这些东西,更重要的是,我想不是编程语言的API调用,框架如React,Redux的使用,而是在这个开发领域,为了解决该领域特定问题的时候,全球的工程师是如何解决这些问题的,他们底层的思考逻辑是什么?> 我们知道Redux好用,解决了状态管理的问题。可是,Web早期,是没有状态混乱的问题的,当然也就没有Redux。后来,随着项目复杂度变高,遇到了瓶颈。于是工程师为了解决特定问题,抽象一层

2019-04-25 21:28:22 531

原创 Redux 还是 Mobx?还有没有更好的方式?

我们团队要做一个简小却五脏俱全的小web项目,一致采用 React ,但我们发现 React 经常与 Redux 以及 Mobx 结合使用。于是我们思考,Redux和 Mobx 各有什么优劣?哪个技术选型更适合我们?**或者,有没有第三种,更好的方式?因为可能Redux 以及 Mobx都不适合我们现阶段的开发。**

2018-12-19 14:42:27 1230

原创 长列表虚拟加载 解决 离屏渲染问题

这是一个【trade-off】的问题,要想渲染的性能高,就想办法只渲染视窗内可见的列表,在滑动的过程中,上下两页数据来不及渲染,会有白屏。小程序基于双线程机制,逻辑层和渲染层是分开的,所以当调用setData的时候,涉及到逻辑层和渲染层之间的数据传输,如果一次性setData的数据过大,就会出现卡顿现象,甚至报错。(这个可以借鉴,前端的长列表渲染优化思路,本质都是渲染视窗内可见的数据)不过呢,它的实现是监听 scroll 事件,并且重新计算需要渲染的数据,不需要渲染的数据留一个空的 div 占位元素。

2023-01-15 14:15:06 1388

原创 之字/z型打印矩阵

题目说要按照“之”字打印数字,乍一听,就会想着怎么去遍历这个矩阵。不知道你第一想法会不会是去双重 for 循环去遍历矩阵呢?甚至可能你做过一些题目,比如。其实不管在 Leetcode 还是牛客网,会发现矩阵相关的题相对较少,大多都是诸如二叉树、动态规划、链表、数组之类的题,矩阵相关的确实比较少。这两种虽然题目名称上差不多,但是其实题意是不一样的哦,别被误导了~给定一个矩阵matrix,按照“Z”字形的方式打印这个矩阵。我们先看下这道题是要怎么进行遍历的。我觉得可以把矩阵归到数组这一类吧~

2022-12-17 22:36:39 906

原创 手把手教你设计一个任务调度器

手把手教你设计一个任务调度器文章目录手把手教你设计一个任务调度器先从一道简单的面试题说起题目分析参考实现我们项目中的任务调度角色说明taskJobScheduler如何描述 task 之间的执行顺序设计思路有向多叉树有向无环图设计整体结构实现分析接口定义task 的接口job 的接口JobScheduler 的接口实现BasicJobJobScheduler其他特性总结参考文章先从一道简单的面试题说起题目我们先从一道简单的面试题引入:请实现一个支持并发的调度器, 最多允许2两任务进行处理。//

2021-06-22 20:46:39 2396 3

原创 拦截器探索思考

文章目录常见的拦截器实现使用分析实现拦截器类接口定义实现拦截器类拦截器调用顺序拦截器链式调用第二版拦截器实现需求使用设计IAlloyInterceptorIInterceptordispatch解析redux 旧版本 的 composeredux 新版本 的 composecompose async 的实现版本拦截器与设计模式职责链模式代理模式与装饰器模式ES6的proxy总结最后常见的拦截器实现为了更好地实现,这里暂时将拦截器命名为shiro使用期望这么使用: const sh

2021-03-02 14:55:01 347

原创 数据结构与算法(一)线性表

在大部分编程语言中,数组都是从 0 开始编号的,但你是否下意识地想过,为什么数组要从 0 开始编号,而不是从 1 开始呢? 从 1开始不是更符合人类的思维习惯吗?除了数组,链表、队列、栈等也是线性表结构。而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系第二个是连续的内存空间和相同类型的数据。正是因为这两个限制,它才有了一个堪称“杀手锏”的特性:“随机访问”。但有利就有弊,这两个限制也让数组的很多操作变得非常低效,比如要想在数组中.

2020-10-19 11:46:31 486

原创 【Android】onInterceptTouchEvent 方法收不到ACTION_MOVE事件

问题是这样的:我自定义一个父布局,继承自FrameLayout,然后重写其中的onInterceptTouchEvent方法和onTouchEvent方法。但是onInterceptTouchEvent 方法就是收不到ACTION_MOVE事件。问题实例Demo先看MainActivity。为了说明问题,这里demo做了简化。如下:public class MainActivity e...

2018-11-13 20:05:40 3592 3

原创 Button与TextView的区别?

缘起我在处理事件分发机制相关的问题时,发现布局中子view 分别为Button 和 TextView 的时候,onInterceptTouchEvent方法能接受的MotionEvent不同,于是就去了解了下二者有何不同。探寻先看Button的源码。Button 这个类代码很少,继承自TextView。除了getAccessibilityClassName 和 onResolveP...

2018-11-13 15:14:54 2146

原创 Android Studio关联第三方class文件的源码

当打开某个类文件的时候,有时候需要查看源码。跳进去之后发现, 于是,我点击了choose source,然后想取消。苦苦找都找不到取消的地方。这里谢谢liming帮忙看了下,在下面目录中发现文件。 里面对应的文件有下面配置 删去即可。...

2018-09-12 11:46:58 1702

原创 我这么做,是因为我是这样的人

云对雨,雪对风,佛陀对苍生。我对你,嘴对心,九夏对三冬。你是什么样的人,往往取决于你把自己当做什么人。你身边的人能成为什么样的人,也跟你怎么对待他们有关系。想想我们该如何对家人、同事和自己吧。

2018-09-01 15:31:39 547

原创 Volley如何体现生产者消费者模式,优先级排序?

Volley为何使用Queue作为管理分发Request的数据结构?Volley如何根据Request的优先级进行排序?

2018-08-31 11:58:41 363

原创 adb install success 但看不到安装的应用

如题,弄了很久就是发现应用。提示是安装成功的。在其他手机是可以的,在Android P Pixel 却不行。 直接把安装包通过手机QQ传送后,安装也是可以的。后来发现在 设置-应用和通知-查看全看应用 是能看到这个应用的,但是有个特别的提示,“未针对此用户安装”,这个是问题是手机ROM多用户造成的,选择按钮“为所有用户卸载此应用”,然后再重新安装即可。...

2018-08-28 17:16:27 9152

原创 Android studio中assets文件更换之后不生效

当我需要更换assets中的文件的时候,就去替换了一下,编译之后,发现并没有生效,还是之前的文件。可问题是,我之前的文件已经删除了,为啥显示的还是之前的文件?之前的文件哪里来的?我尝试一下三种方式解决问题。Build - clean project ,发现并没有用。检查代码逻辑,是否有哪些没注意到的逻辑,重新设置了原来assets文件。然而并没有发现。觉得还是缓存原因。Fi...

2018-08-28 17:07:27 4924 1

转载 小程序加载background-image背景图片

微信小程序通过background-image设置背景:只支持线上图片和base64图片,不支持本地图片;base64图片设置步骤如下:1.在网站http://imgbase64.duoshitong.com/上将图片转成base64格式的文本2.在WXSS中使用以上文本:background-image: url(“data:image/png;base64,iVBORw0KGgo=…”...

2018-07-26 20:11:19 17536

原创 AccountManager getAccount 在Android O 8.0版本中获取为 null ?

问题 AccountManager accountManager = AccountManager.get(this); Account[] accounts = accountManager.getAccounts();以上代码在 Android 8.0 (API 26) 之前运行地很好,能够获取到 account 信息。但是在最新版本 8.0 上却获取不到,返回 accoun...

2018-03-25 19:03:52 4662 1

原创 Git SSH配置无误 但无法连接github远程仓库 “Host Key Verification Failed”

缘起网上有很多在 github 添加 SSH 的方法,官方也有指导。 Connecting to GitHub with SSH 但是,我按照教程去配置的时候,感觉哪里都没有出错,可就是无解用ssh访问github。百试不得其果。 有一点我很疑惑。那就是 路径下C:\Users(yourname).ssh 只有两个文件: - id_rsa - id_rsa.pub 而没有文件known

2018-01-16 21:14:32 8992 14

原创 java中的staic 静态变量

在 Android 开发或者 Java 开发中,我们经常遇到这样的代码: private static final int NUMBER = 10; 和 private final int NUMBER = 10; 这两者都是 private 和 final 的,唯一的区别就是 static,那究竟二者有何区别,我们应该怎么区分呢? 对于静态变量在内存中

2017-11-14 16:29:53 6925 4

原创 Python3.6 numpy opencv3.2 安装 及 ImportError: DLL load failed: 找不到指定的模块

1.下载安装Python进入Python官方网站,点击Downloads,选择对应的版本下载即可2.安装pip怎么在windows下安装pip?3.安装numpy4. 安装opencv采坑安装opencv的时候,我是参考这个说明指导去安装的,如下: 但是却遇到了问题: ImportError: DLL load failed: 找不到指定的模块问题解决多亏这篇问答的帮助: DLL lo

2017-06-04 09:29:15 11941

原创 Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'

异常描述Android Studio 编译运行的时候,出现以下错误: Error:Executionfailedfortask’:app:transformResourcesWithMergeJavaResForDebug’. com.android.build.api.transform.TransformException: com.android.builder.packaging.

2017-05-25 16:20:48 1094

原创 Java 源码分析HashMap的工作原理及实现

HashMap是什么?有什么特点?initialCapacity 和 loadFactor 是什么?有哪些常用的方法?分别是如何实现的?实例引出HashMapimport java.util.HashMap;import java.util.Map;public class Main { public static void main(String[] args) {

2017-05-19 11:27:06 806

原创 Android中为什么有些变量会以m开头?配置Android Studio识别成员变量的m前缀

Android中为什么有些变量会以m开头 private String mTitleText;为什么变量名非得以 ‘m’ 开头呢?配置Android Studio识别成员变量的m前缀

2017-05-10 19:14:32 8692 3

原创 矩阵快速幂的应用题 -- 魔力手环

题目描述小易拥有一个拥有魔力的手环上面有n个数字(构成一个环),当这个魔力手环每次使用魔力的时候就会发生一种奇特的变化:每个数字会变成自己跟后面一个数字的和(最后一个数字的后面一个数字是第一个),一旦某个位置的数字大于等于100就马上对100取模(比如某个位置变为103,就会自动变为3).现在给出这个魔力手环的构成,请你计算出使用k次魔力之后魔力手环的状态。 输入描述:输入数据包括两行: 第一行为

2017-05-01 20:48:48 2701

原创 腾讯 一面 二面 2017暑期实习招聘

腾讯一面没有自我介绍,先拿下我的简历,让我在白纸上画,项目的架构。我画了几分钟,然后跟面试官介绍。这次最大的一个败点是,我没有在手机上安装项目应用,这也是线下面试,与线上面试的一个不同点。后来写一个题,合并数组的题。总结,腾讯这次我感觉看项目,清楚项目的整体架构,后很好,最好安装上去,我估计这次是跪了。不过也没关系,我的项目经历确实有点少,这次面试跟我之前的面试不太一样,这次真的比较看实力,

2017-04-14 16:36:59 2046

原创 洗牌 --网易有道2017内推编程题

题目描述 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一

2017-04-05 23:03:13 1350

原创 有趣的数字--腾讯2017暑假实习生招聘笔试

题目 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述输入包含多组测试数据。 对于每组测试数据: N - 本组测试数据有n个数 a1,a2…an - 需要计算的数据 保证: 1<=N<=100000,0<=ai<=INT_MAX.输出描述对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表示差最大的对数。输入例子6

2017-04-04 14:05:40 812

原创 hihoCoder 1039 字符消除 详细总结题解

原题回味原题链接#1039 : 字符消除描述小Hi最近在玩一个字符消除游戏。给定一个只包含大写字母”ABC”的字符串s,消除过程是如下进行的:1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除,余下的子串拼成新的字符串。例如”ABCCBCCCAA”中”CC”,”CCC”和”AA”会被同时消除,余下”AB”和”B”拼成新的字符串”ABB”。2)上述消除会反复一轮一轮进行,直到新的

2017-04-01 10:47:09 854

原创 求二叉树的深度,判断该树是不是平衡二叉树

剑指offer两道编程题二叉树深度输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。求二叉树的深度,有三种方法:1. **递归**,这也是很多人非常容易想到的,递归实际也是深度优先的思想(DFS),时间复杂度为O(lgN),但是空间复杂度最坏为O(N),当二叉树退化为链表的时候。2. **循环**,这种方法不会有递归方法容易出现的栈溢出风

2017-03-25 10:30:07 3033 1

原创 静态内部类、Handlers涉及的内存泄露

* 假如我们在内部类中做耗时的操作或者说有个while(true)死循环,即内部类的对象一直存在; * 那么当这个MainActivity应该被回收时(比如屏幕的旋转)GC发现它还被其内部类的对象引用 * 所以就不会将其回收.假如该Activity中含有大量的资源(比如图片)那么就很容易发生OOM.

2017-03-16 12:16:39 2473 1

原创 BottomNavigationView初探,给你分享Material Design最新控件

BottomNavigationView 很早之前就在 Material Design 中出现了,但是直到 Android Support Library 25 中才增加了 BottomNavigationView 控件。该控件使用方法如下:在 build.gradle 文件中增加依赖:1compile 'com.android.support:design:25.0.0'在 res/menu/ 目录下

2017-03-10 18:49:13 1374

原创 Android视图View绘制流程及源码分析

相信每个Android程序员都知道,我们每天的开发工作当中都在不停地跟View打交道,Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View的,如TextView、Button、ImageView、ListView等。这些控件虽然是Android系统本身就提供好的,我们只需要拿过来使用就可以了,但你知道它们是怎样被绘制到屏幕上的吗?多知道一些总是没有坏处的,那么我们赶快进入到本篇文章的正题内容吧

2017-03-04 22:04:40 2284

原创 【常见面试算法题】之二分搜索

[魔力手环--2017网易编程应用题] 二分搜索(英语:binary search),也称折半搜索(英语:half-interval search)[1]、对数搜索(英语:logarithmic search)[2],是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查

2017-02-17 22:46:23 1240 2

原创 单例模式,你所应该知道的一切

由于要求只能生成一个实例,因此我们必须把构造函数设为**私有函数**以防止被多次创建实例。我们可以声明一个静态(static)的实例,在需要的时候创建该实例,也就是实现懒加载。能在多线程中工作但效率不高(懒汉式,线程安全)双重检查锁定模式利用静态构造函数静态内部类 实现单例模式

2017-02-15 16:13:59 903 3

原创 Android四大组件 Activity BroadCast ContentProvider Service 的理解

(组件内容)Android四大组件是一个App的基石,四大组件相信大家都知道哪四个,Activity,BroadCast,ContentProvider,Service。(设计思想)Android之父设计Android时曾希望Android能够像堆积木一样使用现有的功能模块方便构建一个App,所以,Android被设计为高度组件化,可复用的系统。开发者可以使用Intent调用系统中已经存在的功能模

2017-02-05 18:58:13 927 2

原创 点击 Android Studio 的 build 按钮后发生了什么

首先,说明下这个问题的来历。 优秀的(Android)软件工程师是如何练成的 这篇文章提到了这个问题,于是就去思考下,也感谢前人的努力,让我们小菜鸟学习更加容易。你一定会问,点击Build后(我理解是 Build > Make Module module-name),还能发生什么,无非是安装在模拟器或者真机上一个App呗~.没错,但是,这个问题的本意一定没这么简单。gradle插件要构建和运行应

2017-02-05 17:52:23 3609

原创 glide 显示 加载不出来 图片

在Android设备上,加载网络图片一直是一个头疼的问题,因为Android设备种类繁多(当然最主要的是配置),处理的稍不周到轻则应用卡顿,严重者就会出现OOM的,导致程序挂掉。现如今网络上有很多图片库,如 Universal-Image-Loader,Picasso,Fresco,Glide等等。相信列举出的这几个库大家都不陌生,这也是目前最火的图片库了。由于个人的喜好原因(主要是别人介绍说Glide库比较NB),

2017-01-28 16:25:16 33833 4

原创 线程 vs 进程

进程与线程的区别是很重要的一个知识点,也是面试中经常问到的。网上转载博客痕迹明显,且千篇一律。我简单提取下,记录下来,希望能帮到你。另外在 LeetCode 上也有关于此问题的讨论,可以直接浏览“Read more” 部分。引入进程之前–多道程序设计概述多道程序设计技术是操作系统最早引入的技术,它的设计思想是允多个程序同时进入内存并运行,其目的是为了CPU的利用率,进而提高系统效率。特点多道程序设

2017-01-22 19:51:54 18218 3

原创 AIDL使用详解(三) 客户端通过AIDL与服务端通信 实例项目

我们接着上篇文章[AIDL使用详解 (二)AndroidStudio中 创建 AIDL service](http://blog.csdn.net/zheng548/article/details/54605824)继续,根据上篇文章创建aidl文件的步骤创建

2017-01-19 13:29:12 2237 2

原创 AIDL使用详解 (二)AndroidStudio中 创建 AIDL service

当我对AIDL一无所知的时候,想去了解一下,网上一搜,虽然有很多资料,博客是写这个的,但是,一无所知的我看不懂呀。各种关于Android studio 使用 AIDL的,但是讲解不是很细致,总是版图而废。鉴于此,我想记录一下我的学习过程,一步步演示怎么用AndroidStudio 创建 AIDL 。如果能帮助到你,是我莫大的荣幸。也欢迎各位大佬拍砖。这是一篇入门级别的文章,大牛请移步,专为像笔者这

2017-01-18 22:53:57 2900

文章附录源码.zip

https://blog.csdn.net/Zheng548/article/details/97813080

2019-07-31

listviewanimationdemo

listview的动画库demo,有丰富的listview动画资源。基于最新的AndroidStudio实现。Appearance animations for items in ListViews, GridViews, other AbsListViews; Built in animations include Alpha, SwingRightIn, SwingLeftIn, SwingBottomIn, SwingRightIn and ScaleIn. Other animations can easily be added StickyListHeaders is supported, other implementations can easily be added. Swipe-to-Dismiss, Swipe-To-Dismiss with contextual undo; Drag-and-Drop reordering; Animate addition of items; Smoothly expand your items to reveal more content; http://nhaarman.github.io/ListViewAnimations/?ref=app

2018-09-01

opencv_python-3.2.0-cp36-cp36m-win_amd64.whl

ImportError: DLL load failed: 找不到指定的模块

2017-06-04

opencv_python-3.2.0-cp36-cp36m-win_amd64

ImportError: DLL load failed: 找不到指定的模块 解决方案 所需文件

2017-06-04

自定义钟表

实现自定义View,自定义钟表

2017-05-13

AIDL使用详解(三) 客户端通过AIDL与服务端通信 实例项目

AIDL使用详解(三) 客户端通过AIDL与服务端通信 实例项目

2017-01-19

FloppyWriter

软盘书写工具,或者说是一种软盘映像书写工具,《自己动手写操作系统》一书的随书光盘中的工具,很有用,这本书很好。可以从网上下,资源不少。这并不是简单的书写工具,众所周知,操作系统程序是需要引导的,而引导程序(一般用汇编语言写的,如windows 98 启动盘中的 boot.bin)必须写在磁盘的第一道第一个扇区内,floppywriter就有将数据写进软盘或软盘映像某一个分区的功能。它并不是简单的将数据写进软盘,它可以指定数据写进磁盘的位置,此工具对操作系统原理的理解有很大帮助,因为它本来就是《自己动手写操作系统》编者写的程序,为那本书服务的,因用处很大,迅速在网上传播开来

2016-06-01

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

TA关注的人

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