- 博客(35)
- 问答 (1)
- 收藏
- 关注
原创 【Android图片框架gilde coil】都用Kotlin协程了,快来试试Coil~
Glide和Coil是两个流行的Android图片加载库。Glide以其高性能和平滑滚动体验而闻名,支持自定义解码管道和多种图片格式,包括GIF。Coil是一个较新的库,专为Kotlin设计,利用协程实现快速图片加载,提供轻量级和易用的API,支持内存和磁盘缓存优化。在性能测试中,Coil在首次加载和缓存加载方面均表现出色。Coil还特别支持Jetpack Compose,简化了现代Android UI框架中的图片加载。开发者可根据项目需求和个人喜好选择合适的库。
2024-05-30 14:26:34
920
原创 【Flutter RN】国内主流C端app中哪些用了Flutter和RN/如何查看android lib
C端就是很多了跨端项目、B端肯定更多。欢迎大家评论区留在自己的用flutter、rn库引用列表、积极留言。
2024-05-17 11:14:46
345
原创 前端超分辨率技术应用:图像质量提升与场景实践探索-设计篇
对比深度学习框架在前端的应用、以Android为例 还对coil和glide进行了对比。手把手设计超分辨率功能
2024-03-28 16:09:04
1136
1
原创 Android 性能优化实例分享-内存优化 兼顾效率与性能
项目上线一段时间后,回顾重要页面 保证更好用户体验及生产效率,做了内存优化和导出功能优化,具体效果如最后的一节的表格所示。
2024-03-24 21:59:41
1103
1
原创 【tensorflow&flutter&web】机器学习模型怎样用到前端上
TensorFlow 可提供强大的功能,以便您在任何环境(包括服务器、边缘设备、浏览器、移动设备、微控制器、CPU、GPU、FPGA)中部署模型。可以在先进的处理器(包括 Google 的自定义张量处理单元 [TPU])上以生产规模运行机器学习模型。如果您需要在靠近数据源的位置分析数据,以缩短延迟时间并更好地保护数据隐私,可以借助框架在移动设备、边缘计算设备甚至微控制器上运行模型,还可以借助框架仅使用网络浏览器就能运行机器学习模型就是如上所说的一样 可以在设备上、浏览器中、本地或云端都可以部署模型。
2024-01-08 11:11:20
1614
2
原创 【tensorflow&flutter】自己写个机器学习模型用在项目上?
【tensorflow&flutter】自己写个机器学习模型用在项目上? 拍摄APP项目上线有一阵了,每天的拍摄数据呈现波动上升状态、业务方需要对数据进行加工,如果能有对未来的数据量的预测就好了 。
2024-01-05 14:55:36
1083
1
原创 Android移动端超分辨率调研
图片加载是目前几乎所有的APP都具备的基础能力,在节省服务商的传输带宽之外,也可以降低用户消费端流量的消耗,提升用户的加载速度。帮助每一个产品用更低的成本达到更好的图片加载效果。
2023-12-29 17:01:53
542
1
原创 Android flutter项目 启动优化实战(二)利用 App Startup 优化项目和使用flutterboost中的问题解决
start up点击进去能看到具体的详情。
2023-11-28 20:17:37
1296
原创 Android flutter项目 启动优化实战(一)使用benchmark分析项目
启动时间是用户对应用的第一印象,较慢的加载会对用户的留存和互动造成负面影响在刚上线的B端项目中:1.提高启动速度能提高整体流程的效率2.提高首次运行速度能提高应用推广的初体验效果。
2023-11-28 15:45:51
1800
原创 【Android】 屏幕录制screenrecord为什么这么快?
正常的合成视频是个什么样流程?主要有三大类方法:MediaMux硬解码,mp4parser,FFmepg三种方式, 但是并不能把高帧率、分辨率屏幕视频保存下来 那么Android screenrecord命令是怎么做的呢?
2023-10-17 18:33:27
459
原创 如果我是pm之 演出电影vr购票展示
1.需求背景问题现状:用户层面: 在用户购票的时候存在只有抽象的座位图 没有实际的观影场景的感受 不知道屏幕多大 座位什么样 不知道俩家影院的硬件差异 (不知道贵在哪) 影院方面:只有部分的用户才会从文字层面“imax等” 注意到影院的硬件服务 提升了硬件服务并不第一时间传递给用户 硬件厂商:并不能有效的展示产品等问题 公司角度:为用户提供更加多渠道的角度展示购票 提供更好的购票体验 演出角度:top50有近一半可以购票选座,ps:场地相对影院较大 位置比较不明确
2022-04-21 19:11:57
243
原创 移动端vr技术探索之VrPanoramaView
VR技术的热度每年都在增长,在购物、旅游等方面运用度很高。该项目引用了Google的vr:sdk-panowidget依赖库,通过VrPanoramaView,简单实现在手机上查看全景照片,下面是项目介绍。google官网开发指南支持模式:支持vr和全景模式输入格式 :bitmap 或 byte[]回调:加载成功、失败 点击 切换模式适用于场景:手机端: 影人展示 电影海报 电影院展示等vr硬件: vr电影院总结 在手机端是以辅助全面展示效果的作用 (在原有的大图模...
2022-02-17 19:08:20
1349
原创 通过shell增加 替换Android lintOptions
通过shell 执行 如果有更好的方法联系我奥~#读取lint位置 如果有覆盖 如果没有创建rootDir="/Users/"rootGradlePath="${rootDir}/build.gradle"lineNum=$(sed -n '/lintOptions/=' ${rootGradlePath}) #获取要修改的字符串所在行,并将它保存到变量linelineNumAndroid=$(sed -n '/android {/=' ${rootGradlePath})a=0i.
2022-02-17 11:13:47
1025
原创 Databinding和RecycleView使用时 更新数据item会混乱闪烁?
现象如下在Databinding和RecycleView组合使用时直接 binding当变量或可观察对象发生改变时,绑定将在显示下一帧之前改变。然而,有时候,绑定必须立即执行。要强制执行更改绑定,可以调用executePendingBindings()方法。否则会出现上面闪烁的情况例如在绑定数据的时候:onBindDataViewHolder(if (item == null) returnbinding.mt = itembinding.execute...
2022-01-13 20:19:38
1512
原创 初识TensorFlow Lite
1.摘要 近年来,随着移动设备和应用的普及,及其软硬件的提升。另一方面,机器学习在近些年来也取得了不小成果。机器学习需要大量数据,而移动设备存在也产生大量数据,移动设备也需要机器学习的成果。由此出现了机器学习与移动设备的碰撞,在移动设备上使用、应用机器学习的成果是很有必要的。2.应用背景 视觉在人与人交互以及人与自然界的交互过程中起到非常重要的作用,让终端设备具有智能的视觉识别和交互能力是人工智能和计算机技术的核心挑战和远大目标之一。 在早些年,全球物联网的设备数,就已经超...
2021-06-02 17:51:14
736
1
原创 需要运动的布局?motionlayout的使用场景
1.什么是motionlayout?MotionLayout-运动布局是一种布局类型,可帮助您管理应用中的运动和微件动画。MotionLayout是ConstraintLayout的子类。2.什么适合使用motionlayout如下这几种使用 如果你想知道查看更多2.1.此示例包含一个视图,您可以轻触并拖动该视图进行水平移动。2.2.此示例显示了如何转换ImageFilterView的饱和度值。2.3.此示例将MotionLayo...
2021-06-02 17:03:21
236
转载 jvm那些你可能需要知道的知识 个人学习笔记
什么是 Native方法?简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。JVM内存区域(运行时数据区)划分1、程序计数器 这个内存区域是Java虚拟机规范中唯一一个没有规定任何OOM(OutOfMemoryError)情
2020-08-06 19:16:03
135
原创 数据类型那些事之装箱注意点
Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150; System.out.println(f1 == f2); System.out.println(f3 == f4);结果 true false值得注意的点为 Integer对象 == 比较的不是值而是引用上述证明了 f1,f2为同一个对象。/** * Cache to support the object...
2020-07-21 17:58:27
138
原创 Android RecyclerView item 间距 及是否包含四周边距 的设置
从别的文章看到的 但是不满足需求 或者我写错了 就我改了过来 public class SpacesItemDecoration extends RecyclerView.ItemDecoration { private HashMap<String, Integer> spaceValue; //间隔 private boolean i...
2020-03-04 16:34:58
456
原创 Android 如何让item 控制宽高比 宽高一致
除了 在Adapter的 onBindViewHolder方法中设置LayoutParams params = new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT, 60); convertView.setLayoutParams(params);还有这种方式ConstraintLayout的...
2020-02-27 11:14:57
1110
原创 RxJava 个人的学习及问题
RxJava 个人理解 RxJava 线程切换原理 RxJava 变化原理 lift()原理 学习资料给 Android 开发者的 RxJava 详解这可能是最好的RxJava 2.x 入门教程在学习的过程中写了RxJava 2中 Observer的onComplete()的调用情况的探索遇到了为什么subscribeOn第一次执行生效,obs...
2019-08-09 12:01:33
112
原创 RxJava 2中 Observer的onComplete()的调用情况的探索
对应代码 Observable.create(new ObservableOnSubscribe<Integer>() { // 第一步:初始化Observable @Override public void subscribe(@NonNull ObservableEmitter<I...
2019-08-09 11:21:08
4661
原创 Seekbar进度条上文字显示 继承seekbar的简单实现
看网上看了好多,但是都有些复杂,就根据别人都现成的简化改装了一个简单思路自定义个矩形区域用来计算所需大小然后根据位置来写入文字效果图先创建个Point弄个矩形并设置在seekbar顶部 //设置画笔 mPaint = new Paint(); mPaint.setAntiAlias(true); mPa...
2019-08-08 21:09:42
1306
原创 Seekbar拖动条上文字显示的实现
Seekbar如果需要仅仅是个文字显示的话 可以看看这个Seekbar进度条上文字显示 继承seekbar的简单实现结合KBubbleSeekBar实现 在github上有原本的样例效果KBubbleSeekBar的简单分析是在BubbleSeekBar的基础上可以渐变色的版本其中的上方进度是通过toast的相同方式进行的/*** Show...
2019-08-07 18:57:39
1785
原创 Iterator迭代器的学习
迭代器的概念来自百度知道Iterator个人理解 就是对遍历指针的封装在具体的Iterator的文件中Iterator中进行了next() 返回迭代中的下一个元素hasNext() 如果迭代有更多元素,则返回“true” 的这两个方法以及ListIterator 可以双向的跳转以及可变的MutableListIterator...
2019-08-06 11:36:33
168
原创 kotlin的入门学习回顾
kotlin基本类型数字,字符,布尔,数组如何定义var a : Int = 101101转换可以用函数转换• toByte(): Byte• toShort(): Short• tolnt(): Int• toLong(): Long• toFloat(): Float• toDouble(): Double• toChar(): Char...
2019-08-02 18:31:04
128
原创 Databinding的kotlin版的学习
Databinding的简单使用以 对Textview进行数据联动 为用例xml中layout为根<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"> <data>...
2019-08-02 18:31:01
142
原创 OkHttp中拦截器的学习 及 设计模式之建造者模式 的自己看法
拦截器的作用 :对server返回的response进行拦截那拦截器是用来干什么的呢日志打印可以使用拦截器方便的打印网络请求时,需要查看的日志。缓存想要实现缓存,先在创建okhttpclint的时候多加一行代码.cache(),通过它来设置缓存目录,当然需要服务器支持缓存功能。OkHttp 中的建造者模式其中newBuilder通过Builder对...
2019-08-02 15:51:00
270
原创 Android Studio debug的学习日记
先拿一个错误项目练练手打开debug跳到出现问题的地方发现如下两个问题本身为空和列表未赋值修改后为现在对下午做的 “调试面板里面新增修改SharePreferece的入口 ”进行调试显示了line=6读取到edittext的值发现只有外面的两个数据存储了自己的操作却没读取。...
2019-07-25 18:48:54
120
原创 adb的学习日记
Android调试桥 (adb)Android调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序,包括三个组件:客户端,该组件发送命令。客户端在开发计算机上运行。您可以通过发出...
2019-07-24 16:57:59
169
转载 C#比较字符串 忽略大小写
使用接口String.Compare(str1,str2,ignoreFlag),ignoreFlag为true表示忽略大小写
2018-11-14 09:04:50
3287
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人