首页 文章

片段加载时工作速度非常慢

提问于
浏览
0

我正在使用片段 . 当我添加视图时,工作非常慢 . (Imageview,RelativeLayout vsvs) . 但我的应用程序在某些设备上运行良好 . 像棒棒糖 . 我怎么解决这个问题 ?

代码:`@Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){

view = inflater.inflate(R.layout.words,container, false);

     searchLayout=(RelativeLayout)view.findViewById(R.id.searchLayout);
     boxLayout=(RelativeLayout)getActivity().findViewById(R.id.boxSearch);
     mainlayout=(RelativeLayout)getActivity().findViewById(R.id.mainLayout);
     mainsearch=(RelativeLayout)getActivity().findViewById(R.id.mainsearch);
     horizontalScrollView=(HorizontalScrollView)view.findViewById(R.id.hS);

     searchText=(EditText)getActivity().findViewById(R.id.searchText);
     back=(ImageView)getActivity().findViewById(R.id.backbutton);

     listplace=(RelativeLayout)view.findViewById(R.id.listplace);
     frameLayout = (FrameLayout)view.findViewById(R.id.frame1);
     frameLayout.setVisibility(View.GONE);
     linearLayout=(RelativeLayout)view.findViewById(R.id.linear);


     RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)listplace.getLayoutParams();
     params.height= Resources.getSystem().getDisplayMetrics().widthPixels / 2;
    params.width=Resources.getSystem().getDisplayMetrics().widthPixels;
    listplace.setLayoutParams(params);

    w=listplace.getLayoutParams().width/3;
    h=listplace.getLayoutParams().height/2;

    preference= PreferenceManager.getDefaultSharedPreferences(getActivity());

     int  t=0;
     int p=0;
     while(t<=48)
     {

         addList(t);

        t++;

     }



    searchLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

     searchLayout.setOnTouchListener(new View.OnTouchListener() {
        @TargetApi(Build.VERSION_CODES.LOLLIPOP)
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                enterReveal((int)event.getX(),(int)event.getY());



            }

            return false;
        }
    });






    return view;
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
void enterReveal(int x , int y) {


    int finalRadius = Math.max(searchLayout.getWidth()+searchLayout.getWidth()/4, searchLayout.getHeight()) / 2;
    Animator anim =ViewAnimationUtils.createCircularReveal(frameLayout, x, y, 0, finalRadius);
    anim.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationStart(Animator animation) {
            frameLayout.setVisibility(View.VISIBLE);

        }

        @Override
        public void onAnimationEnd(Animator animation) {
            frameLayout.setVisibility(View.GONE);
            longClick=false;
            mainsearch.setVisibility(View.VISIBLE);
            mainlayout.setTranslationZ(-5.0f);
            boxLayout.setClickable(true);
            searchText.requestFocus();
            InputMethodManager imgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
            imgr.showSoftInput(searchText, InputMethodManager.SHOW_IMPLICIT);


        }

        @Override
        public void onAnimationCancel(Animator animation) {
            longClick=false;

        }

        @Override
        public void onAnimationRepeat(Animator animation) {

        }
    });

    //anim.setDuration(450);
    anim.start();
}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public void addList(int id)
{
    ImageView img;
    img=new ImageView(getContext());
    img.setId(id);
    img.setElevation(5.0f);
    img.setImageResource(R.drawable.add);
    img.setScaleType(ImageView.ScaleType.CENTER_CROP);
    img.setAdjustViewBounds(true);
    RelativeLayout.LayoutParams layoutParams=new RelativeLayout.LayoutParams(w, h);
    layoutParams.setMargins(0-w/5,w/6,0,0);
    if(id!=0)
    {
        layoutParams.setMargins(0-w/5,w/6,0,0);
        layoutParams.addRule(RelativeLayout.RIGHT_OF,id-1);
    }
    img.setLayoutParams(layoutParams);
    linearLayout.addView(img);


}




}

1 回答

  • 0

    也许你的视图中有一些大图像 . 确保片段中没有任何大型高分辨率位图或可绘制资源

相关问题