首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带全高清显示的Android -滞后片段转换

带全高清显示的Android -滞后片段转换
EN

Stack Overflow用户
提问于 2015-08-04 13:35:24
回答 3查看 2.9K关注 0票数 0

我的应用程序登录部分有一个简单的动画片段转换--参见anim.xml。片段有来自xml可绘图的背景设置,除非我用全高清显示器在智能手机上测试,否则一切都很好。过渡突然变得滞后。有人知道是什么导致的吗?两个背景都有1080*1920分辨率。

anim.xml -动画示例(其中有4个用于进出双方的动画)

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<set>
  <translate xmlns:android="http://schemas.android.com/apk/res/android"
   android:fromXDelta="-100%"
   android:toXDelta="0"
   android:interpolator="@android:anim/decelerate_interpolator"
   android:duration="250"/>
</set>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-12 12:06:32

几年的经验后-把你的形象在可绘制-结核

nodpi

这些都是与密度无关的资源。无论当前屏幕的密度如何,系统都不会缩放使用此限定符标记的资源。

What Is The Difference Between -anydpi And -nodpi?

票数 4
EN

Stack Overflow用户

发布于 2015-08-06 13:02:22

在我看来,你似乎有一个性能问题(可能与GPU,也许你有透支)。我不知道是什么原因,但有很多工具,可以帮助你更好地了解正在发生的事情。看看这篇文章http://www.curious-creature.com/docs/android-performance-case-study-1.html

此外,android性能模式视频可能会有所帮助。我强烈建议观看这些节目:

工具配置图形处理器渲染https://www.youtube.com/watch?v=VzYkVL1n4M8

透支https://www.youtube.com/watch?v=T52v50r-JfE

UI和GPU https://www.youtube.com/watch?v=WH9AFhgwmDw

为什么60 ms https://www.youtube.com/watch?v=CaMTIgxCSqU

票数 2
EN

Stack Overflow用户

发布于 2015-08-06 12:37:54

嗯,经过一段时间(很长时间)来解决这个问题,我问题的唯一解决办法是在片段处理之前将背景图像更改为一些低res图像,并检查动画的末尾将其更改为高res图像。丑陋但至少起作用了。

虽然如果你在未来走这条路,希望在检测动画结束时会遇到一些麻烦。片段有onCreateAnimation方法,您可以添加AnimationListener,它有检测动画的开始、重复和结束的方法,但是它有错误的行为来检测动画的结束。回调是在动画结束之前触发的,这使得您的片段事务延迟,就像它即将结束一样(在我的例子中,它是最后10个像素左右)。

以一种非常丑陋的方式解决了这个问题--在动画结束时用10毫秒实现了一个CountDownTimer,并在定时器结束后将背景转换为高分辨率。

而且,片段的onCreateAnimation文档很少,所以您将不知道它的参数是什么,我发现这个亚洲网页帮助我理解了它。

http://y-anz-m.blogspot.cz/2013/05/support-package-fragmenttransaction.html

无论如何,我不知道FragmentTransaction的背景是如何工作的,但是感谢谷歌如此出色地实现了FragmentTransactions和AnimationListeners。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31810802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档