自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (2)
  • 问答 (27)
  • 收藏
  • 关注

转载 安卓各版本大变化(Android 6.0到10.0),兼容适配

Android 5.0Material DesignART虚拟机Android 6.0应用权限管理官方指纹支持Doze电量管理运行时权限机制->需要动态申请权限Android 7.0多窗口模式支持Java 8语言平台需要使用FileProvider访问照片安装apk需要兼容Android 8.0通知画中画自动填充后台限制自适应桌面图标-&gt...

2020-04-12 11:08:41 2976

转载 Handler.postDelayed()工作原理

转载:https://blog.csdn.net/qingtiantianqing/article/details/72783952原文:使用handler发送消息时有两种方式,post(Runnable r)和post(Runnable r, long delayMillis)都是将指定Runnable(包装成PostMessage)加入到MessageQueue中,然后Looper不断...

2020-04-01 20:26:44 804

原创 Android自定View

一、View绘制机制Veiw绘制流程二、View传递机制1.参考传递机制(1)传递机制(2)

2019-11-12 16:32:47 181

原创 Rxjava源码-------线程切换

目的:1.理清楚线程切换的流程2. subscribeOn()为什么调用多次只有第一次是有效的3. observeOn()可以多次使用在有了Rxjava订阅和map操作符的基础上,我们来分析subscribeOn()这个方法。subscribeOn这个方法也创建了一个被观察者,即ObservableSubscribeOn这个类,基于之前的基础之上自然而然能够找到显眼的一行...

2019-08-02 18:09:36 211

原创 Rxjava源码——map操作符

思路:一、ObservableCreate二、ObservableMap三、调用思路和源码逻辑四、生产环境代码五、画图总结ps:subscribe()是Observable中的的方法,因为ObservableCreate和ObservableMap都继承了Observable所以把该方法放到了这两个类中一、ObservableCreatepublic f...

2019-07-31 21:59:39 457 2

原创 Rxjava源码——订阅

看完订阅的源码发现Rxjava包装了被观察者对象,然后其它比较容易理解。1.创建被观察者Observable observable = Observable.create( new ObservableOnSubscribe<String>() { @Override ...

2019-07-30 15:36:06 138

原创 设计模式——责任链模式

职责链模式:使多个对象都有机会处理请求,从避免请求的发送者和接收者之间的耦合关系。将这对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 图片来自大话设计模式...

2019-07-18 14:21:05 100

原创 Android仿qq侧滑——上

16年那会写项目用到了仿qq测滑删除,那时候只是一顾的搬代码,这段时间在学习自定义View,把之前的代码梳理了一下,写了一个仿qq测滑的效果代码如下,注释写的很清楚了。接下来会升级一下在ItemView下放三个子Viewpackage com.monitor.atmosphere.slide;import android.content.Context;import andro...

2019-07-17 17:20:37 443

原创 Android内存泄漏排查

工具:MAT+Android Studio ProfilerProfiler主要负责捕获内存快照,MAT主要负责引用分析。一些直观的内存泄漏用Profiler就好,当然这个需要自己去定位内存泄漏代码。Profiler适合用于比较复杂的引用,不易推测出泄漏的地方,MAT能很好地展示引用链,帮助排查泄漏。使用方法:结合自己的应用来说,我在MainActivity中借助Profil...

2019-07-15 19:24:22 797

原创 自定义view-——随手指移动

自定义view可拖动的小圆点/** * Created by donghe on 2019/7/7. */public class MyView extends View { //定义画笔和初始位置 Paint p = new Paint(); public float currentX = 50; public float current...

2019-07-07 22:25:27 191

原创 LruCache初次了解

之前有看到过关于LruCache的面试题,今天趁空闲时间看一下LruCache原理,里面巧用了LinkedHashMap。参考了两篇文章:https://juejin.im/post/5a4b433b6fb9a0451705916fhttps://www.jianshu.com/p/b49a111147ee第一个是基于LinkedHashMap讲的,第二个是基于LruCache...

2019-06-28 11:46:27 267

转载 setimageresource oom

bugly报出的一个oom,当时看到很惊讶,使用setimageresource已经是家常便饭。结合项目来说,当大量频繁的需要使用setImageresource时可能会出现oom,如果在小二不频繁下一般是不会报oom的。查资料得到的信息:这篇博客的地址,可能这个兄弟也遇到过这个情况。https://blog.csdn.net/mouse12138/article/detail...

2019-06-27 17:10:46 459

转载 把本地文件传到github仓库

https://blog.csdn.net/qq_34858648/article/details/52421363http://www.cnblogs.com/wei-dong/p/9352821.htmlhttp://www.cnblogs.com/panlangen/p/7501585.html

2019-05-11 21:29:59 350

原创 构建者模式

如果你需要将一个复杂的对象构建与它的表示分离,使得同样的构建过程可以创建不同的表示的意图时,我们需要应用一个设计模式,“建造者模式” ...

2019-05-11 21:29:00 441

原创 观察者模式——1

在观察者模式中,需要有被观察的对象,观察者。当被观察的对象发生改变时会通知观察者做对应的改变。观察者模式定义了一种一对多的依赖关系,让多个观察者同时监听某一个主题对象。这个主题对象在发生改变时会通知所有观察者对象,使它们能够自动更新自己。 观...

2019-05-11 21:28:04 264

转载 React Naitve原理

一.React Native 框架分析RN_整体框架图.png层次架构: Java层:该层主要提供了Android的UI渲染器UIManager(将JavaScript映射成Android Widget)以及一些其他的功能组件(例如:Fresco、Okhttp)等,在java层均封装为Module,java层核心jar包是react-native.jar,封装了众多上层的inte...

2019-05-11 20:57:57 258

原创 SharedPreference了解

今天调试代码发现大量的sp操作耗用了近3秒时间,当然里面交叉了gson操作。所以下面我查看了有关SharedPreference的文章https://www.jianshu.com/p/63ee8587de3f这是一篇非常有深度的文章。引用这篇博客上面的代码 SharedPreferencesImpl(File file, int mode) { mFil...

2019-03-30 22:16:07 207

原创 Android性能优化

一、布局优化布局层级相同的情况下用Linearlayout而不用relativelayoutwrape_content 不调用ondraw()两次,有精确的尽量不要使用view_stub 特点是隐藏布局,内存占用为0二、内存优化bitmap 即时回收,缩小比例,使用软引用,android 分配bitmap为8M 文件流即时关闭,数据库操作即时关闭。内存泄漏:生命周期不一...

2019-03-27 08:24:00 198

原创 RecyclerView原理分析

1.为什么要了解RecyclerView原理2.源码分析

2019-03-27 08:08:05 474

原创 android UI适配

本次项目中用了autosize头条适配方案。这次顺带把UI适配原理总结一下。1.首先要明白一个公式:公式:dp值×(当前dpi/160dpi)=>得出当前的像素数目px :平常所说的1920×1080只是像素数量,也就是1920px×1080px,代表手机高度上有1920个像素点,宽度上有1080个像素点。dpi:要想判别手机屏幕的显示好坏,还要考虑屏幕的宽高(英寸),也...

2019-03-26 08:29:36 821

转载 android 混淆

混淆介绍Proguard是一个Java类文件压缩器、优化器、混淆器、预校验器。压缩环节会检测以及移除没有用到的类、字段、方法以及属性。优化环节会分析以及优化方法的字节码。混淆环节会用无意义的短变量去重命名类、变量、方法。这些步骤让代码更精简,更高效,也更难被逆向(破解)。混淆后默认会在工程目录app/build/outputs/mapping/release(debug)下生成一个mapp...

2019-03-20 17:27:02 123

转载 android 适配

转载https://www.jianshu.com/p/a4b8e4c5d9b0Android 目前最稳定和高效的UI适配方案Android系统发布十多年以来,关于Android的UI的适配一直是开发环节中最重要的问题,但是我看到还是有很多小伙伴对Android适配方案不了解。刚好,近期准备对糗事百科Android客户端设计一套UI尺寸适配方案,可以和小伙伴们详细的聊一聊这个问题。An...

2019-03-19 20:21:52 426

原创 Android应用启动说起

一、前言:读了很一些Androi源码,始终无法把这些知识串起来。今天准起航了,从应用启动开始,一点一点看下去,可能会经历一个漫长的时间,但无论如何都要坚持。二、都会涉及哪些知识点目前来说一定会涉及以下知识点:Launcher Binder、AIDL View绘制流程推荐几个看源码的方式:Launcher是个app,手机的桌面就是它的Activity,那桌面上的图标就是他...

2018-12-26 15:57:07 138

原创 android跨进程通信

这篇文章涉及的知识点:Binder的应用场景及原理 AIDL的应用场景及原理 Messenger的应用场景及原理 Service官网:注:只有允许不同应用的客户端用 IPC 方式访问服务,并且想要在服务中处理多线程时,才有必要使用 AIDL。 如果您不需要执行跨越不同应用的并发 IPC,就应该通过实现一个 Binder 创建接口;或者,如果您想执行 IPC,但根本不需要处理多线程...

2018-11-11 21:48:32 469

原创 Java创建对象的几种方式

使用new关键字 } → 调用了构造函数 使用Class类的newInstance方法 } → 调用了构造函数 使用Constructor类的newInstance方法 } → 调用了构造函数 使用clone方法 } → 没有调用构造函数 使用反序列化 } → 没有调用构造函数   第二和第三种都是用的反射技术第四种实现Cloneabl...

2018-11-10 21:21:59 177

转载 线程间通信

Synchronized同步方式无条件的阻塞了其他线程异步访问某个方法。Java对象中隐式管程的应用是很强大的,但是你可以通过进程间通信达到更微妙的境界。这在Java中是尤为简单的。像前面所讨论过的,多线程通过把任务分成离散的和合乎逻辑的单元代替了事件循环程序。线程还有第二优点:它远离了轮询。轮询通常由重复监测条件的循环实现。一旦条件成立,就要采取适当的行动。这浪费了CPU时间。举例来说,考虑经...

2018-11-08 18:47:15 158

原创 Java线程同步(一)

              为什么要考虑线程同步,当几个线程共享一份资源时会出现线程冲突。例如生产情景下,生产的物质正在放入共享区域时此时又一个线程要读取共享区域物质的个数此时就会出现冲突。线程同步实质是给线程进行排队。 看下面一个例子Callme的同一实例传给每个Caller实例。// This program is not synchronized.class Callm...

2018-11-08 16:19:30 144

原创 HashMap原理,Hash冲突,同步集合和并发集合及实现原理

HashMap冲突

2018-11-07 17:37:41 3259

转载 JVM加载class文件的原理机制

Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的,除非我们有特殊的用法,像是反射,就需要显式的加载所需要的类。  类装载方式,有两种       1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类...

2018-11-05 20:44:14 572

转载 Android网络编程要学的东西与Http协议学习

1.Android与互联网交互的三种方式2.初识Http协议实际开发中我们和服务端打交道一般用得都是基于Http协议的通信,所以学好Http协议是非常 重要的,当然,我们不用过于考究一些细节的东西,有个大体的了解即可!都是一些概念性的东西!1)什么是Http协议?答:hypertext transfer protocol(超文本传输协议),TCP/IP协议的一个应用层协议...

2018-11-04 15:57:59 263

转载 JVM虚拟机

JVM的内存模型有一、基本概念:JVM把内存区分为堆区(heap)、栈区(stack)和方法区(method)。由于本文主要讲解JVM调优,因此我们可以简单的理解为,JVM中的堆区中存放的是实际的对象,是需要被GC的。其他的都无需GC。下图文JVM的内存模型从图中我们可以看到,1、JVM实质上分为三大块,年轻代(YoungGen),年老代(Old Memory),及持久代(...

2018-11-04 15:50:04 372

转载 The module `./login/Login` could not be found from `/Library/AndroidDevelop/RNDev/byle/index.js`. In

The module `./login/Login` could not be found from `/Library/AndroidDevelop/RNDev/byle/index.js`. Indeed, none of these files exist:  * `/Library/AndroidDevelop/RNDev/byle/login/Login(.native||.andr...

2018-10-29 14:22:16 687

转载 Drawable和Bitmap的区别

Drawable和Bitmap的区别

2018-10-29 10:46:47 1124

转载 react-native相关命令集

1. npm1. npm info react-native:查看react-native所有版本信息;2. npm uninstall react-native:卸载react-native;3. npm install --save [email protected]:安装指定版本react-native;4. npm install:安装最新版react-native...

2018-10-11 10:04:47 902

转载 WebStrom开发ReactNative设置代码自动提示

安装方法一 由于ReactNative.jar更新不方便而且过于陈旧,强烈建议使用方法二进行安装,ReactNative.jar 也会删除file -&gt; import settings -&gt; ReactNative.jar方法二Mac下安装提示:如果没有templates 文件夹,你可以手动创建一个webstorm11安装路径将ReactNative.x...

2018-09-28 19:09:11 1999

转载 Unable to resolve module `@babel/runtime/helpers/interopRequireDefault`

https://stackoverflow.com/questions/52486219/unable-to-resolve-module-babel-runtime-helpers-interoprequiredefault Unable to resolve module `@babel/runtime/helpers/interopRequireDefault`Ask Quest...

2018-09-27 15:57:07 12197

转载 Mobx初体验

MobX是一个非常直观的状态管理库,相比于其他的状态管理库,比如Flux、Alt、Redux和Reflux等,它的使用非常简单,相信你会很快地爱上它。react 关注的状态(state)到视图(view)的问题。而 mobx 关注的是状态仓库(store)到的状态(state)的问题。环境配置首先,让我们来新建一个ReactNative工程react-native init Re...

2018-09-26 21:07:18 185

原创 Mobx在机票React Native项目中的实践

2015年加入去哪儿网机票事业部-用户产品部,从事Android客户端和基于ReactNative泛前端上的机票业务研发工作。有复杂业务的ReactNative项目架构设计、Redux/Mobx数据流管理方案设计、性能优化等经验,专注于可快速迭代和扩展的技术方案的研究。1. 前言 (1)数据流管理对 React Native 项目的重要性React Native 给客户端提供了高性能的...

2018-09-26 20:41:18 603

转载 React Native开发环境搭建

https://reactnative.cn/docs/getting-started.html搭建开发环境本文档贡献者:sunnylqm(100.00%)欢迎使用 React Native!这篇文档会帮助你搭建基本的 React Native 开发环境。如果你已经搭好了环境,那么可以尝试一下编写 Hello World。完整原生环境   简易沙盒环境 Follow the...

2018-09-25 21:05:58 571

原创 Android ViewGroup事件分发有这一篇就够了

写这一篇文章之前我看了好多遍事件分发机制的流程,并且来自不同的书籍,但始终无法记住事件分发流程。于是我写了一个demo分析事件分发的流程,目的为了找到事件分发机制的规律方便记忆。以下是总结的规律,如果错误请及时举报

2018-09-24 22:33:55 290

Sourceinsight

android 源代码查看工具,安装完整导入即可,现在最好用的工具。

2018-01-15

音乐播放器

基本功能:音乐播放。扩展功能:摇一摇切歌,通过socket实现面对面传歌,音效设置。

2016-05-12

Android recyclerview问题

2016-07-07

android客户端上传图片到服务器

2016-06-03

android 通过热点传输文件怎么实现。

2016-04-21

android音乐播放器设置音效

2016-04-18

android 关闭线程问题

2016-04-16

Virtuous TenStudio反编译不会使用请求指导。谢谢

2016-04-12

android扫面二维码安装软件

2016-02-21

极光推送api测试总返回1002..。

2015-09-03

js怎么验证选择中文件文件的大小

2015-08-28

js怎么实现多个图片的验证

2015-08-28

最外面的<div>用的是margin-top:20px 发现它在ie7和ie8中的间距不一样。

2015-08-25

设置有背景图片的<div>块中怎么开发出一个白色的块?

2015-08-13

如何让一个<div>的背景图片完全填充这个<div> 谢谢。

2015-08-13

一个html页面中能有几个<script> </script> 谢谢!

2015-08-10

<input type="submit">按钮中字体大小怎么改变?

2015-07-29

html 中怎么设置多选框是关于图片的? 求解决!

2015-07-28

数据结构问题 求帮助 谢谢

2015-04-22

数据结构问题,求帮助,谢谢。

2015-04-11

单链表问题 求指教!

2015-03-30

顺序表 结构体 求指教

2015-03-22

C语言字符串问题 请指教

2015-03-22

顺序表的 问题 求指教!

2015-03-21

数据结构顺序表 求指教!

2015-03-20

求解释,一运行就弹出错误!

2015-02-05

请求帮忙,非常感谢关于 C语言中函数的!

2015-02-03

帮忙解决一下问题,是关于指针的。

2014-12-27

请大神指教二维数组,太感谢了!

2014-12-26

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

TA关注的人

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