Android知识整理
Dawson_Jiang
这个作者很懒,什么都没留下…
展开
-
win10 git ssh key 配置后仍然无法连接
git ssh key原创 2022-01-21 21:13:30 · 1128 阅读 · 0 评论 -
Android程序一个因requestPermission导致不停onResume(不停打印Timeline: Activity_launch_request time)的问题
自己写的一个Android测试程序,在真机上面调试的时候,发现按钮有时候无法点击,通过日志发现点击事件确实没有触发,而不是点击处理逻辑卡顿;再多次调试,发现系统在不停地打印Timeline: Timeline: Activity_launch_request time。通过搜索,根据文章Android问题新增分析为onResume不停调用导致。添加日志发现确实在不停触发onResume。分析onResume中代码如下: override fun onResume() { s..原创 2021-08-11 17:05:36 · 1760 阅读 · 0 评论 -
Android Others部分内存泄漏 OOM分析
本周公司项目解决内存泄漏,使用Android studio profiler工具进行分析。在人工monkey测试点击管理页面各项菜单后,工具内存查看页面看到内存有增长不是释放的情况。但是dump后未发现哪个页面 或明确的对象没有释放。多次对比dump发现内存并没有明显增加。持续几天未找到原因,后仔细发现,增加的内存属于Others部分,该部分官方解锁是:未知分类的不。这部分在dump后也没有明确的对象对应,因此更难找到内存泄漏的地方了。如下图今天在朋友的帮助下得到了解决。朋友提醒可能是raw原创 2021-02-05 16:23:50 · 1906 阅读 · 0 评论 -
Android客户端GRPC通信框架基本使用
因业务需要,需要使用rpc协议通信,java平台使用Google发布的GRPC框架应该是最合适的了。本篇主要讲解GPRC框架Android客户端的使用,关于RPC协议本篇不做说明,自行百度和Google;关于grpc框架高级应用和具体原理后面补上。RPC协议将通信数据映射成方法和接口调用。本篇客户端使用android平台,服务器端为java控制台程序。废话不多说,直接上代码:1.Andro...原创 2018-10-25 23:09:34 · 2275 阅读 · 0 评论 -
Rxjava 基本原理解析(一)
ReactiveX是一种编程模型,全称是Reactive Extensions,即可扩展的响应式编程,微软在2012年11月开源,官网 reactivex.io。Rxjava是Rx的java语言版本。本系列文章将以rxjava2版本进行分析。本篇主要介绍观察者模式和rxjava是如何实现观察者模式的。 响应式编程主要采用观察者模式进行开发,即观察者(obs...原创 2018-09-07 15:50:14 · 1641 阅读 · 0 评论 -
Rxjava基本原理解析(三)
上一篇已经介绍了Rxjava的整体链式设计原理和思想,今天我们介绍和分析最常用的操作符create以及其源码设计。 create操作符主要用于创建一个源observable,即链式操作的第一个observable:事件源。结合上一篇的整体分析,我们先看看一个operator的图,并结合图和源码分析create操作符:首先看看create操作符的使用代码:Observ...原创 2018-09-10 10:54:29 · 459 阅读 · 0 评论 -
Rxjava基本原理解析(五)
上一篇分享了线程切换的一个操作符,今天我们继续分析线程切换的另一个操作符observeOn以及其源码设计。 observeOn操作符用于切换observer的线程:Observable.create((ObservableOnSubscribe<String>) e -> { e.onNext("dawson"); ...原创 2018-09-12 14:34:05 · 272 阅读 · 0 评论 -
Rxjava 基本原理解析(二)
上一篇介绍了Rxjava中观察者模式的基本实现原理,本篇主要介绍Rxjava链式操作实现的基本原理,即一个事件发出后,经过多次逻辑操作,最后到完成订阅的过程。 上篇中有一个事件原即被观察者observable和一个观察者observer,并完成订阅。而实际业务逻辑中一个事件原往往需要其他业务逻辑处理后最后才到订阅者手中,rxjava使用操作符来解决该问题,实现链式操作,...原创 2018-09-09 01:59:11 · 337 阅读 · 0 评论 -
Rxjava基本原理解析(四)
接着上一篇的分享模式,今天我们介绍和分析线程切换操作符subscribeOn以及其源码设计。 Rxjava的一个最大优点之一就是灵活的线程切换,切换过程不影响整体链式逻辑流程,既方便又清新。为了对比,还是再次将一个操作符的结构图放上:subscribeOn操作符用于切换事件源的线程,一般用在第一个observable的后面:Observable.create((Ob...原创 2018-09-11 12:34:18 · 272 阅读 · 0 评论 -
解决IDEA的"Cannot run program "git": CreateProcess error=2, 系统找不到指定的文件"错误
使用Android Studio开发,用Gradle进行编译,gradle编译过程中使用了git命令,如获取git commit号等作为版本号,报错“Cannot run program "git": CreateProcess error=2, 系统找不到指定的文件”原因:编译时,找不到git 程序。此时发现在Android Studio的terminal里面输入git 出现“git 不是内...原创 2018-07-03 17:53:38 · 14943 阅读 · 5 评论 -
Android Camera的预览回调接口PreviewCallback使用
原文章:https://blog.csdn.net/lb377463323/article/details/53338045首先定义一个类实现Camera.PreviewCallback接口,然后在它的onPreviewFrame(byte[] data, Camera camera)方法中即可接收到每一帧的预览数据,也就是参数data。 然后使用setPreviewCallback()、set...转载 2018-07-09 10:38:37 · 2982 阅读 · 0 评论 -
一种Android 按钮阴影效果(基于selector实现)
先上效果图 图一 正常效果 图二点击效果直接上代码:tv_bg_selector.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android...原创 2018-07-09 10:32:16 · 4919 阅读 · 0 评论 -
Android 传感器列表
1、TYPE_ACCELEROMETER 加速度 (related to force of gravity)A constant describing an accelerometer sensor type.2、TYPE_ALL 全部传感器A constant describing all sensor types.3、TYPE_AMBIENT_TEMPERATURE 环境温度 (de...翻译 2018-05-10 11:05:02 · 990 阅读 · 0 评论