![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android技术
文章平均质量分 86
NAME_CJF
这个作者很懒,什么都没留下…
展开
-
仿RXJava功能--Android自制流处理框架思路及实现
最近重温了RxJava的机制,且正在学习结构化思维。故打算以结构化思维的方式,从零开始自己编写一个与RxJava功能接近的Android框架练手。在阅读该文章之前,我们至少应该掌握Java语法基础、Android开发基础、泛型、观察者模式、Rxjava概要。本文主要用于锻炼思维,暂不引入注解、反射、APT等框架常见优化技术,仅以纯Java代码方式设计。本节我们将一步一步开设设计与实现我们自己的架构。我们需要从RxJava解决了什么、设计并实现自己的框架、复盘与改进三大方面来一步一步完成我们的框架。###原创 2022-06-24 14:12:13 · 539 阅读 · 0 评论 -
Android--百行代码写出EventBus(超详细)
百行代码手撸EventBus背景用法思路背景Android开发中,EventBus是目前比较流行的消息总线框架。在当下流行的模块化、组件化中也扮演着重要作用。相信其原理小伙伴们也都了解。它的核心逻辑其实仅需百余行代码即可写出。今天我们就来手撸一次EventBus简易版框架。用法在手撸框架之前,我们需要先定义一下框架的用法。这里我们仿EventBus的用法,详情如下:1、在对象初始化时需要...原创 2019-12-09 10:44:08 · 210 阅读 · 0 评论 -
Android WebView 视频播放,全屏按钮不显示或灰显解决方案
Android WebView 视频播放,全屏按钮不显示或灰显解决方案背景问题定位背景在Android开发中,遇到了如下问题:Activity内嵌WebView,加载有视频的页面时,视频无法全屏播放。全屏按钮不显示或者灰显。故记录一下此次问题解决过程。问题定位在Android官方文档上对问题所述场景有如下解释:其大意为:1. 要打开硬件加速2. 设置 WebChromeCli...原创 2019-10-21 16:42:46 · 8987 阅读 · 4 评论 -
Android深入--Snackbar用法及源码解析
什么是Snackbar?Google退出Matrial Design已经有一段时间了,其中有一款控件,叫做Snackbar。那么它是做什么的呢?开发过Android的童鞋们应该对Toast不陌生了,Toast是一款用于在屏幕上显示提示信息的控件。而Snackbar,可以理解为Matrial Design风格的Toast,并且在功能上也有了一定的加强。废话不多说,上图:图中屏幕下方弹出的框...原创 2019-09-24 15:35:02 · 729 阅读 · 0 评论 -
Android--基于PopUpWindow的弹框Demo:PopUpDialog
PopUpDialog弹框背景用法后续规划总结背景Android中,很常见的功能就是弹框,而弹框又有许多不同的需求,比如视频全屏播放时屏幕四周弹出的控制栏、可以随意拖动的悬浮框、上拉/下拉列表等等。而这各类弹框,都可以用PopUpWindow来实现。接下来就分享一款使用indow实现的弹框Demo(PopUpDialog)。用法我们首先来看看该项目的效果:上述图片中,共展示了四种弹框方...原创 2019-10-21 16:58:43 · 668 阅读 · 0 评论 -
RxJava+Retrofit网络请求框架基本用法
背景当前Android新的框架越来越多,RxJava+Retrofit进行网络请求的框架尤为突出。故本次整合了RxJava+Retrofit进行网络请求最基本的用法。框架简介RxJava: 基于观察者模式的,链式调用方式的异步编程框架。观察者模式,包含观察者(Observer)、被观察者(Observable)。两者之间绑定(subscribe)后即可由观察者去观察被观察者的行为。观察者在...原创 2019-03-28 21:13:51 · 257 阅读 · 0 评论 -
Anroid深入--TextView不定长度的文字显示适配方案
背景当我们编写APP的时候,可能会涉及多语言的问题,不同语言下的相同字段,其长度不尽相同;也可能会遇到动态展示一条长度不固定的信息。而不同的长度的TextView可能会引起布局被挤压,文字显示不全、重叠等异常。严重者则可能遮挡按钮,造成功能异常。方案当前,Google的TextView功能已经非常完善,合理应用其参数,仅从布局层面就足以适配大多数文字长度不固定的情况。目前比较通用的方案有:1...原创 2019-01-31 16:39:00 · 1163 阅读 · 0 评论 -
Android深入--Handler机制简析(Handler、Looper、MessageQueue)
背景首先,我们都知道,在安卓中,不可以在子线程中更新UI,如果希望在子线程执行过程中更新UI,则必须使用Handler。那么,什么是Handler呢?Handler是否只是用于更新UI呢?Handler更新UI原理 上述的子线程使用Handler更新UI,为什么就可以呢?答案是更新UI的Handler是在主线程中。耗时操作交给了子线程,子线程耗时操作结束后,只需要发送一个消息给主线程,主线程原创 2017-11-19 21:43:51 · 396 阅读 · 0 评论 -
Android应用稳定性优化--快速点击产生异常的解决思路
背景在安卓开发中,经常会遇到这样的问题:快速点击某个按钮的时候,由于点击事件中有异步操作、或者必须放在主线程但是又比较耗时的操作时,会出现卡顿、数据异常、崩溃、未响应等问题。工作中也遇到了不少类似的问题,所以在此总结一下这类问题的几种解决思路。 案例 假设有一个App,有四个A控件,其中必须且只有一个为选中状态。而在另一个B控件中,需要实时显示并修改选中控件关联的一些参数信息,而这些参数信息需要原创 2017-11-12 22:43:38 · 611 阅读 · 0 评论 -
Android性能优化之--ViewStub
我的博客:http://blog.csdn.net/name_cjf使用背景:我所在公司的一个App,由于界面布局复杂,导致启动时间或者界面切换均较为卡顿,而由于布局中所有控件均有其作用,所以无法直接简化布局,不过有很多布局确是一开始为不可见状态,特定情况下才会显示。所以就想:目前Android加载布局,会把不可见的布局也一起加载。有没有一种方法可以使刚开始用不着的控件不去加载,需要的时候再加载呢?原创 2017-10-06 16:01:23 · 335 阅读 · 0 评论