自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 uniapp发布到h5,Android如何处理系统返回键

我踩了很多坑,最后使用的只能是 每进一个page页面,调用js,发送给原生当前的page标识,然后在原生onBackPressed里面进行处理。我们知道APP端调用h5方法都是绑定在window上面的方法,故应该uniapp方法暴露在window上面,因为uniapp项目中的this指向vue,而不是window.并且这个方法不能写到methods方法里面,需要在mounted方法处理。然后原生调用uniapp方法回调到h5。那么uniapp接受到回调如何处理呢?

2024-03-22 13:54:41 205 1

原创 uniapp发布到h5调用Android原生拍照,相册,uniapp如何显示并上传

uniapp发布到h5调用Android原生拍照,相册,uniapp如何显示并上传

2024-03-22 11:45:28 1038 2

原创 Kotlin使用Coil加载图片过程中如何设置加载中图片

此处不是讲解 如何使用库以及使用它的优点,有兴趣的同学可以查询下在github上面的这个库,使用起来还是很方便的。在这里主要讲解使用这个库的过程中遇到的一个问题:需求要求从网络中加载图片,在图片未显示出来中间,有一个loading的占位符,加载成功或失败占位符消失详细加载失败使用占位图大家都觉得很简单,这里要讲的不是失败占位图的问题,好了,进入正文。

2024-02-23 15:43:23 392

原创 uniapp实现仿ios底部弹框日期三级选择

uniapp实现仿ios底部弹框三级选择组件代码如下调用方式,可以自己写一个选择框,(自己发挥)选择框 功能实现选择后回显即可。

2024-02-22 17:37:28 476 1

原创 Android 动画以及自定义动画

我们都知道Android 动画分为 帧动画,补间动画,属性动画那么它们有什么区别呢,我们先了解这三个动画的定义和实现方式。

2024-02-22 11:20:51 417 1

原创 HandlerThread原理及优缺点

为了解决这一问题,Google 提供了 HandlerThread,HandlerThread 是在线程中创建一个Looper循环器,让 Looper 轮询消息队列,当有耗时任务进入队列时,则不需要开启新线程,在原有的线程中执行耗时任务即可,否则线程阻塞。HandlerThread 缺点:是不能同时继续进行多任务处理,需要等待进行处理,处理效率较低.HandlerThread 与线程池不同,HandlerThread 是一个串行队列,背后只有一个线程。

2024-02-21 14:17:52 354 1

原创 Handler原理总结

handler的同步屏障就是一个target为空的msg,用来优先执行异步方法的.如果有一个紧急的Message需要优先处理,Handler中加入了同步屏障这种机制,来实现[异步消息优先]执行的功能。同步屏障的作用可以理解成拦截同步消息的执行,主线程的 Looper 会一直循环调用 MessageQueue 的 next() 来取出队头的 Message 执行,当 Message 执行完后再去取下一个。

2024-02-21 14:05:31 2177 1

原创 LruCache 底层实现原理

LinkedHashMap是Hashmap的子类,它内部使用一个双向链表来存储 Map 中的 Entry 顺序关系, 对于 get、put、remove 等操作,LinkedHashMap 除了要做 HashMap 要做的事,还会调整 Entry 顺序链表。LruCache 中将 LinkedHashMap 的顺序设置为 Lru 顺序来实现 Lru 缓存,每次调用 get(也就是从内存缓存中取图片),则将该对象移到链表的。LruCache 每次添加 Bitmap 图片缓存的时候(put 操作),都会调用。

2024-02-20 14:34:36 330

原创 Java 中 try catch finally执行先后顺序

且finally里的修改语句可能影响也可能不影响try或catch中 return已经确定的返回值,若finally里也有return语句则。try或catch中的return语句。

2024-02-20 14:22:33 333

原创 Android studio 如何快速查询冲突jar包并解决

在android defaultConfig里面添加如下。二 如果是依赖树里面冲突的,我们可以exclude处理解决。2 使用app模块里面build.gradle里面排查。一 如果是本地远程依赖冲突的,直接指定版本号即可。这样就能排查出到底哪些依赖发生了冲突。// 显示冲突的依赖库版本信息。

2024-02-20 14:11:41 611

原创 Android Studio更改代码 ,必须先clean或rebuild,更改的代码才能编译进去

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2024-02-19 19:04:06 1123

原创 具体说说MVVM

MVVM说这个之前先说说什么是响应式编程:响应式编程:就是事先构建好事物之间的联系,他们之间因为这层联系而互相驱动.架构介绍MVVM的特点就是双向绑定Model数据模型,比如我们从数据库或者网络获取数据。View视图,也就是我们的xml布局文件和Activity。ViewModel关联层,将Model和View绑定,使他们之间可以相互绑定实时更新模型联系View --> ViewModel -->View,双向绑定,数据改动可以反映到界面,界面的修改可以反映到数据。ViewMod

2021-09-03 16:51:04 298

原创 自定义view的注意事项

1、让View支持wrap_content属性直接继承View或ViewGroup的控件,如果不在onMeasure中做处理,当控件设置wrap_content属性时无法达到预期效果。wrap_content属性会失效。2、让View支持padding属性直接继承View的控件,如果不处理padding属性,则padding会失效。如果继承ViewGroup的控件,还需要处理子元素的margin属性。3、为了让控件使用更方便,尽量添加自定义属性。4、如果View需要响应用户touch事件,需要处理

2021-09-03 16:15:32 561 1

原创 GC原理以及有哪几种工作方式

所谓GC就是 内存空间的释放说起GC原理,先说几个术语.垃圾: 需要回收的对象根: 判断对象是否引用的起点有哪几种基本实现方式:1 标记清除方式标记清除(Mark and Sweep)是最早开发出来的GC算法(1960年)。原理: 从根部开始将可能被引用的对象进行标记,然后没有标记的对象作为垃圾进行回收.缺点: 如果分配了大量对象,其中只有一小部分对象存活的情况下,所消耗的时间超过必要的值,这是因为在清除阶段还需要对大量死亡对象进行扫描.2 复制收集方式原理: 从根部将引用的对象复制到另

2021-09-03 15:43:16 1196

uniapp实现仿原生ios底部弹框选择

uniapp实现仿原生ios底部弹框选择

2024-02-22

Android绘制点赞动画

Android点赞工具类

2024-02-22

空空如也

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

TA关注的人

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