• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

陈文管的博客

分享有价值的内容

  • Android
  • Affiliate
  • SEO
  • 前后端
  • 网站建设
  • 自动化
  • 开发资源
  • 关于

Android 残影数字动画实现详解

2023年2月20日发布 | 最近更新于 2023年8月24日

Android 残影数字属性动画效果,以及叠加梯形基座自定义View实现详解,附上GitHub代码资源(Kotlin)。

项目上要实现一个残影叠加效果的评分动画效果,常规数字显示较轻的残影动效,逢10的倍数残影效果加重,并在结束的时候带有抖动效果,分数底座跟随评分等级切换颜色,先看下实现效果GIF。

初始版本实现(ScoreAnimView):

优化后的版本实现(GhostingTextView):

一、实现原理详解(初始版本)

首先是得分动画,叠加了缩放、alpha透明度渐变、从下往上Y轴方向的偏移,以及加重动效时候阴影在X轴方向的偏移和描边stroke粗细大小的变化。

1)从底部冒出动[……]

【阅读全文 ▽ 】

Android 卡片旋转切换动效实现详解

2023年2月13日发布 | 最近更新于 2023年8月28日

Android 卡片旋转切换显示动效,加流光结束效果实现详解,附上GitHub代码资源(Kotlin),先看下实现效果GIF。

一、实现原理详解

1. 动画实现拆分

整体动画拆分成几部分再拼凑起来,第一步是卡片正面顺时针旋转+缩放,第二步是卡片Y轴方向翻转到背面,最后是叠加一个View显示流光效果。卡片的正面和背面分别用单个控件来单独实现各自的动效部分,叠加之后形成最终的效果。

第一部分rotation、scaleX和scaleY属性叠加,使用AnimatorSet一起执行这些属性的变化。

val ratationAnim = ObjectAnimator.ofFloat(mIvCardfront,[......]

【阅读全文 ▽ 】

Android 心率动画自定义控件实现

2023年2月9日发布 | 最近更新于 2023年8月28日

Android心率曲线平移动画自定义控件实现详解,并附上GitHub完整实现仓库资源。

项目上需要实现一个心率曲线波动的自定义动画,网上找了很多开源控件,没有想要的效果,综合网上已有的实现,改造实现了一个比较简单的心率波动动画,每个点之间用贝塞尔曲线连接,从左到右逐个绘制,满屏之后开始平移心率波动动画,以下是实现效果截图,GitHub上有实现效果GIF。

一、实现原理详解

1. 心率曲线的绘制

如果是绘制折线,只需要把数据点使用Path对象lineTo方法把所有数据点连接绘制即可,绘制曲线则使用cubicTo方法绘制贝塞尔曲线,让曲线连接点更平滑。每次绘制前重置Path对象,所有数据点连接完毕之后即可刷新[……]

【阅读全文 ▽ 】

Gnirehtet终端设备共享PC网络实践

2022年3月17日发布 | 最近更新于 2023年8月28日

目前的生产测试环境中,群控测试系统的基础架构是一个服务端对应N个PC Slave节点,每个PC Slave节点上连接着多台设备,这些设备有手机和车机,设备的网络连接方式是通过设备的WI-FI功能连接一个WI-FI信号实现,这种网络连接方式存在以下问题。

基于以上对网络稳定性的需求,需要使用更稳妥可靠的网络连接方案,无线网络不可靠,那么我们就考虑使用有线网络。

在初始调研设备共享PC网络的实现方案中有3种实现方式:

综合考虑生产应用的灵活性,和接入的成本,选择了Gnirehtet的方案。

目前的Android系统设备,不管是手机还是车载终端,一般都内置了 USB 网络共享功能,也就是手机通过USB和PC[……]

【阅读全文 ▽ 】

Android模拟定位实现详解

2021年5月5日发布 | 最近更新于 2023年8月28日

在导航测试场景中经常需要定位模拟和路线回放,记录下通过LocationManager.setTestProviderLocation()方法实现模拟地位,如果要测试的应用不支持TestProviderLocation模拟位置输入,可以考虑从HAL层入手,hook系统默认的GPS实现。

一、Android模拟权限开启配置

在Android6.0以下的版本中,需要在设置中勾选模拟定位的开关,在6.0以上就改成了选择模拟定位的应用,对应的开启配置方式也不一样,相同的是在AndroidManifest.xml都需要配置以下两个权限:

<uses-permission android:name="android.per[......]

【阅读全文 ▽ 】

Monkey测试有效性验证及测试策略优化

2021年1月24日发布 | 最近更新于 2023年8月28日

目前在应用稳定性测试中,经常用长时间的Monkey压测来发现一些时序上的问题,保证发版项目的稳定性,但是Monkey测试存在的问题就是随机性操作带来测试范围的偏差,记录下如何验证Monkey测试的有效性,如何优化Monkey稳定性测试,提高测试效率。

这边的测试验证以测试时长、代码覆盖率、单台和多台设备多次测试采集覆盖率数据来分析。

一、统计代码覆盖率的方式

Java层的覆盖率数据统计使用Jacoco,C++层的代码覆盖率使用gcov,gcov是Linux下GCC自带的一个C/C++代码覆盖率分析工具,关于Jacoco和gcov这边不做过多的介绍,自行搜索了解即可。

二、单台设备不同测试时长的代码覆盖率

[……]

【阅读全文 ▽ 】

Android 性能监控之内存监控

2020年3月23日发布 | 最近更新于 2023年8月28日

接上一篇Android CPU监控,接着记录下Android内存的监控,包括系统内存和独立进程内存获取方式解析,以及系统内存和独立进程内存信息在C++层获取的实现。

一、Android系统内存解析

1. dumpsys meminfo方式解析

通常获取系统内存是通过dumpsys meminfo的方式:

adb shell dumpsys meminfo

示例输出:

Applications Memory Usage (in Kilobytes):
Uptime: 118719544 Realtime: 448708145

Total PSS by process:
  &n[……]

【阅读全文 ▽ 】

Android 性能监控之CPU监控

2020年3月15日发布 | 最近更新于 2023年8月28日

Android性能监控需要读取CPU和内存基础数据,本文对CPU基础信息获取的实现做个记录,在做了资料查询和Demo测试之后,最后确认在C++层从系统proc伪文件中获取系统和独立进程的CPU数据是可行的方法。

如果是在Java层实现CPU和内存的基础数据获取,在Android高版本会遇到Runtime.getRuntime().exec()执行shell命令权限限制问题。Android平台版本碎片化严重,一个功能开发出来适配成本大于收益是没有实现价值的。如果要实现Android全平台的兼容性,并在兼顾监控程序性能占用方面,直接下沉到C++是最简单直接的做法。

不建议直接使用类似控制台输命令持续获取CPU和内存信息,一个[……]

【阅读全文 ▽ 】

Android NDK版本配置和编译

2020年2月11日发布 | 最近更新于 2023年8月28日

项目上需要把功能下沉到C++去实现来降低性能上的损耗,N年不碰C++的重操旧业,首先就是要配置NDK编译环境,以下记录Android NDK版本配置和编译遇到的坑。

一、NDK版本下载

NDK最新版本下载地址:

https://developer.android.google.cn/ndk/downloads/

NDK历史版本下载地址:

https://developer.android.google.cn/ndk/downloads/older_releases.html

在Mac上测试android-ndk-r10d和最新的android-ndk-r20b版本都存在问题,编译中会出现找不到编译[……]

【阅读全文 ▽ 】

Android 8(Oreo)后台启动Service限制解析

2019年10月25日发布 | 最近更新于 2023年8月28日

本文针对Android 8(Oreo)开始对于后台启动Service限制做一个解析,一个是startService限制,另一个是startForegroundService启动服务之后5s内必须调用startForeground(),并提供对应异常的适配解决方法。

一、Android Oreo后台启动服务异常

从Androidxref上的源码来看,这个异常机制是从8.1.0版本开始引入的,在8.0.0的源码上还未引入这个限制。

1. 使用startService在后台启动服务

从Android 8.1.0开始,不允许在后台运行服务,应用处于后台的时候,使用startService启动后台服务会抛异常。

[……]

【阅读全文 ▽ 】

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Go to Next Page »

工具网站

onetools.online: 一站式免费在线工具库,包括文本类、文档类、图像类、音频类、视频类、开发类、运维类、设计类、学术类、查询类及其他工具

latlongconverter.online: 地图坐标系批量转换(WGS84、GCJ02、BD09 、CGCS2000、UTM、度分秒和十进制等等)

xmlformatter.online: XML在线工具(格式化、压缩、合法性验证、转换XML文件为多种类对象类型,转换为交互式树状视图)

jpg2webp.com: Webp 和 Jpg、Png图片格式互转(单次最多50张)

博客公众号
博客公众号

GitHub

https://github.com/wenguan0927

近期文章

  • OneTools.online 一站式工具库已上线
  • Android 蓝牙模块关键词解析
  • Android PDF文件浏览及目录显示交互实现
  • Android 航线缩略图简易绘制实现
  • 145个外链建设网站清单

友情链接

崔庆才的个人博客

Trinea  (codeKK)

Piasy

Paincker

wanandroid

陈祖杰的BLOG

闽ICP备18001825号-1 · Copyright © 2025 · Powered by chenwenguan.com