Android,无限重复动画与instrumentation.waitForIdleSync()

2023-12-02

我有一个项目custom view这是动画的。动画是一个简单的 Alpha 淡入淡出,无限重复。该视图是一个cursor,这使得cursor看起来它在眨眼。当我开始为项目编写功能单元测试时,我遇到了一个问题:getActivity()方法会挂在setUp由于动画的方法。getActivity() calls waitForIdleSync()在返回之前,并且由于动画从一开始就开始,getActivity()永远不会回来。这实际上花了我相当多的时间来弄清楚,我会开始测试,但它会坐在那里什么都不做......这也100%的时间会发生。

我不认为这是一个 BUG,因为从技术上讲,如果动画正在运行,设备不会空闲,但这是一个问题。任何允许动画从头开始运行的建议或解决方法,但也可以使用waitForIdleSync during ActivityInstrumentationTestCase2s将不胜感激。我可以实施一个解决方法来不使用waitForIdleSync()通过等待其他事件来提供与测试操作和应用程序操作的同步,但是我仍然必须调用getActivity()在某一点。一旦进入此方法,它就永远不会以无限重复的动画返回。此外,动画必须在结束之前的某个时间开始onRestart方法。理想情况下,会有一个waitForIdle(int timeout)方法。

我在错误的时间开始动画,或者我没有使用正确的方法开始动画?我以编程方式启动/停止动画,因为需要在应用程序中启动和停止闪烁行为。下面是我用来启动动画的代码。这startBlinking(Context)方法是从内部调用的cursors构造函数...

public void startBlinking(Context context){
    Animation blink = AnimationUtils.loadAnimation(context, R.anim.cursor_blink);
    blink.setRepeatMode(Animation.RESTART);
    blink.setRepeatCount(Animation.INFINITE);
    startAnimation(blink);
}

我遇到了这个问题并将其报告为AOSP 上的一个错误,但我不认为有人会很快修复它。我的解决方法是删除动画(这很有挑战性,因为它是无限期的进度视图)。对于您的情况,一个选择是更改测试中的动画计时,这样它就不会为每一帧设置动画。不太理想,但我怀疑比冻结要好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android,无限重复动画与instrumentation.waitForIdleSync() 的相关文章

随机推荐

  • 如何向 Amazon Alexa Skills Kit (ASK) 混合字符串和数字输入?

    我正在尝试创建一个 Amazon Alexa 技能套件来进行某种自动化 这需要接受由字符串和数字组成的语音输入 a test12fish 当我在 Alexa Skills Kit 中使用自定义插槽时 它不允许我键入带有数字的字符串 当我尝试
  • 如何创建极坐标等值线图

    Update 我已经在我的博客上完整地写了我发现的方法http blog rtwilson com having polar contour plots with matplotlib 你可能想先检查一下 我正在尝试在 matplotlib
  • 将对象数组转换为长数组时出现 ClassCastException

    当我尝试将对象数组转换为长数组时 出现此异常 线程 main 中的异常 java lang ClassCastException Ljava lang Object 无法投射到 Ljava lang Long 我的酒店房间地图中的钥匙很长
  • 如何使用 ViewPager 滑动 xml 布局

    我正在构建一个应用程序 我想在其中启用滑动功能 我想在单个活动中滑动 xml 布局 早些时候我尝试放置图像 它成功了 我创建了一个扩展 PagerAdapter 的 ImageAdapter 类 在 instantiateItem 中 我创
  • 用于相对导入的 python 包装

    首先 我很抱歉 我知道有很多关于相对导入的问题 但我只是没有找到解决方案 如果可能的话我想使用以下目录布局 myClass init py test demo py benchmark py specs py src init py myC
  • 写入文件需要针对大流量进行优化第 3 部分

    这个问题是前2部分的延续 任何有兴趣了解我来自哪里的人都可以参考第1部分和第2部分 但这不是必要的 写入文件需要针对大流量进行优化 写入文件需要针对大流量进行优化第 2 部分 现在我有一个工作片段 相关部分如下 public static
  • 限制登录尝试失败的次数

    我想限制失败的登录尝试 例如 如果特定用户尝试使用错误的用户名或密码登录 4 次 我应该第四次显示验证码 而不是阻止一段特定时间 并继续显示验证码 除非他提供有效的用户名和密码 用户成功登录后 登录尝试将重置为零 从安全角度来看 检查用户名
  • 如何让TextureView播放视频有圆角和气泡效果

    我成功地在Android上使用TextureView和MediaPlayer播放视频 我是这样做的 我用 SurfaceTexture 创建了一个 Surface public void onSurfaceTextureAvailable
  • 在 json 响应中排除具有默认值的枚举属性

    我有一个 api 响应模型 它具有枚举类型的属性 枚举属性仅在某些情况下才会填充 其余情况下它会获得默认值 0 输出 道具1 ABCD prop2 0 这是默认为零的枚举属性 我尝试使用自定义 jsonconverter 但这并不能真正解决
  • 如何将 XML 文档的树结构分解为所需的结构..?

    对我来说 编写 XSLT 代码以带来我想要的输出是一个巨大的挑战 这是我的XML输入 我正在测试
  • 静态编译Python解释器?

    我正在构建一个专用的嵌入式 Python 解释器 并且希望避免对动态库的依赖 因此我想使用静态库来编译解释器 例如libc a not libc so 我还想静态链接属于 Python 标准库的所有动态库 我知道这可以使用Freeze py
  • 设置 Git 用户名

    我按照以下说明设置 Git https git scm com book en v2 Getting Started First Time Git Setup 该文档指出从命令行运行以下命令 git config global user n
  • 使用 Java 读取受密码保护的 Excel 文件(.xlsx)

    我试过下面的代码 import org apache poi poifs crypt Decryptor import org apache poi poifs crypt EncryptionInfo import org apache
  • 四条带纹理失真

    我有一个GL QUAD STRIP 我正在纹理映射 四边形带自身向后折叠以形成 UV 球体 本质上 四边形带通常不是由矩形制成的 而是由梯形制成的 我遇到纹理失真问题 纹理坐标是正确的 例如 它们在应该的位置很好地排列 问题在于梯形面本身
  • 如何使用 fmod 并避免精度问题

    我将把这个问题归结为最简单的形式 让我们从 0 5 0 开始迭代 步长为 0 05 并打印出 X 每乘以 0 25 for double d 0 0 d lt 5 0 d 0 05 if fmod d 0 25 is equal 0 pri
  • tvOS 文本字段透明背景

    我正在开发一个 tvOS 项目 我使用 swift 和 siwftUI 我想创建一个具有透明背景的 TextField 问题是 当我将背景颜色设置为透明时 仍然有一层突出显示 当您导航并将焦点放在文本字段上时 它会展开 我尝试了很多方法但无
  • 如何让 firestore 在写入时创建嵌套对象作为子集合?

    考虑我下面的代码 我希望这段代码在集合测试下创建一个名为 items 的子集合 但正确的 items 在测试集合中添加了一个数组字段 请注意 这是针对 firestore 的 而不是针对 firebase 实时数据库的 data first
  • 在 NodeJS 中使用和更新全局变量安全吗?

    我有一个节点服务器 用于加载任何人都可以编写的某些脚本 据我了解 当我启动节点服务器时 模块将首次在全局范围内加载 当请求一个页面时 它会被 启动服务器 回调加载 我可以根据请求使用所有已加载的模块 但我还没有遇到过全局变量在请求期间发生更
  • 为什么 Javascript 上传块大小会因浏览器而变化?

    我正在通过 javascript 代码将文件上传到服务器 我注意到不同的浏览器发送不同大小的字节 如下图所示 Internet Explorer 发送小字节 但 Chrome 和 Firefox 发送较大字节 我正在使用 XMLHttpRe
  • Android,无限重复动画与instrumentation.waitForIdleSync()

    我有一个项目custom view这是动画的 动画是一个简单的 Alpha 淡入淡出 无限重复 该视图是一个cursor 这使得cursor看起来它在眨眼 当我开始为项目编写功能单元测试时 我遇到了一个问题 getActivity 方法会挂