Android在主线程上跳过了太多的框架

时间:2014-03-26 20:29:18

标签: android crash runnable

我的MainActivity是一个标签布局,有三个标签。第一个选项卡崩溃是因为“Android在主线程上跳过了太多的工作”

这是我的代码:它有三个图像,几秒钟后随机动画。 当用户点击任何图像时,新的活动类会加载,每个图像都有自己的活动类。 我的计划是在一个数组中添加10个或更多图像,但有三个图像我的应用程序崩溃不确定它是否可以处理10个图像。

任何人都可以帮助找出跳帧和应用崩溃背后的原因。

public class HomeAnimation extends Fragment implements AnimationListener {

    public HomeAnimation(){}
    private static boolean flag = false;
     Animation anim;
     private Handler handler;
     public ImageSwitcher mSwitcher,mSwitcher1;

    int textToShow[] = {
            R.drawable.dabangg, R.drawable.car, R.drawable.ramleela
    };

    int messageCount = textToShow.length;
    int currentIndex = -1;

    Timer timer = new Timer();
    Handler hander = new Handler();

    Runnable runnable = new Runnable(){
                 public void run() {
                     updateTextView();
                     hander.postDelayed(this, 4000);
                 }
    };

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
       View v = inflater.inflate(R.layout.imgswitch, container, false);


        mSwitcher = (ImageSwitcher) v.findViewById(R.id.imageSwitcher1);
        mSwitcher.setFactory(mFactory);
        anim = AnimationUtils.loadAnimation(getActivity(),R.anim.fade_in);
        anim.setAnimationListener(this);
        return v;    
    }

1 个答案:

答案 0 :(得分:2)

您使用的图像可能太大了。他们是Jpeg还是png。在应用程序中,您应该使用优化的png文件来存储图像。我发现非常小的Jpeg图像会导致此错误。

错误通常是由系统过载引起的。它无法在规定的时间内处理大图像或代码。我也看到了无限循环问题。