我想我已经找到了大部分帖子,虽然我觉得我做的一切都很好,当你有一个带有动画的活动时,我发现正在查看当活动在活动中时动画仍在运行的cpu使用情况cpu使用率在0.64%和1.5%之间的背景。当我禁用动画时,我发现cpu变为0,所以证明这是罪魁祸首。
感谢您提供的任何帮助,因为目前我的头靠在墙上,我确信这是非常荒谬的,我做错了。
动画应始终在活动可见时运行,因此onCreate我会执行以下操作:
ImageView mobilePhone = (ImageView)findViewById(R.id.imageHandHeldMobile);
tapPhoneOnTag = (AnimatorSet) AnimatorInflater.loadAnimator(this, R.anim.mobile_nfc_scan);
tapPhoneOnTag.setTarget(mobilePhone);
tapPhoneOnTag.start();
在onPause中我有以下代码:
public void onPause() {
super.onPause();
tapPhoneOnTag.end();
}
在onStop中我有以下代码:
public void onStop() {
super.onStop();
finish();
}
在onResume中我有以下代码:
public void onResume() {
super.onResume();
tapPhoneOnTag.start();
}
动画XML如下所示:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:ordering="sequentially" >
<objectAnimator
android:duration="3500"
android:propertyName="x"
android:repeatCount="infinite"
android:repeatMode="reverse"
android:valueFrom="200"
android:valueTo="380"
android:valueType="floatType" />
</set>
此活动使用以下代码从主活动启动:
private void tagviewer() {
Intent intent = new Intent(this, TagViewer.class);
startActivity(intent);
}
定义活动的清单文件如下所示:
<activity
android:name="com.xxx.xxx.xxx"
android:label="@string/tag_viewer"
android:parentActivityName="com.xxx.xxx.xxx"
android:screenOrientation = "portrait">>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="Home" />
</activity>