2017-02-17 4 views
0

FirebaseRecyclerAdapterとFirebaseRecyclerAdapterで画像を表示すると、ピカソが極端に遅くなります、recyclerviewのfirebaseから画像を表示する方法が改善されましたか?FirebaseRecyclerAdapterとピカソでFirebaseから画像をレンダリングすると極端に遅くなります

public class TileContentFragment extends Fragment { 




    private FirebaseAuth mFirebaseAuth; 
    private FirebaseUser mFirebaseUser; 
    private DatabaseReference mDatabase; 
    RecyclerView recyclerView; 



    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 

     // Initialize Firebase Auth and Database Reference 
     mFirebaseAuth = FirebaseAuth.getInstance(); 
     mFirebaseUser = mFirebaseAuth.getCurrentUser(); 
     mDatabase = FirebaseDatabase.getInstance().getReference("Items"); 


     recyclerView = (RecyclerView) inflater.inflate(R.layout.recycler_view, container, false); 
     recyclerView.setHasFixedSize(true); 

     FirebaseRecyclerAdapter<Item, BlogViewHolder> firebaseRecyclerAdapter =new FirebaseRecyclerAdapter<Item, BlogViewHolder>(
       Item.class, 
       R.layout.item_tile, 
       BlogViewHolder.class, 
       mDatabase) { 



      @Override 
      protected void populateViewHolder(BlogViewHolder viewHolder, Item model,int position) { 
       viewHolder.setTitle(model.getName()); 
       viewHolder.setImage(getApplicationContext(), model.getProfilePic()); 
      } 
     }; 
     recyclerView.setAdapter(firebaseRecyclerAdapter); 
     // Set padding for Tiles 
     int tilePadding = getResources().getDimensionPixelSize(R.dimen.tile_padding); 
     recyclerView.setPadding(tilePadding, tilePadding, tilePadding, tilePadding); 
     recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2)); 
     return recyclerView; 
    } 

    //View Holder For Recycler View 
    public static class BlogViewHolder extends RecyclerView.ViewHolder { 
     View mView; 
     public BlogViewHolder(View itemView) { 
      super(itemView); 
      mView= itemView; 
      itemView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.androidsquad.space/")); 
        Intent browserChooserIntent = Intent.createChooser(browserIntent , "Choose browser of your choice"); 
        v.getContext().startActivity(browserChooserIntent); 
       } 
      }); 
      /******** For More Android Tutorials .. Download "Master Android" Application From Play Store Free********/ 
     } 
     public void setTitle(String title){ 
      TextView post_title = (TextView)mView.findViewById(R.id.tile_title); 
      post_title.setText(title); 
     } 
     public void setImage(Context ctx , String image){ 
      ImageView post_image = (ImageView)mView.findViewById(R.id.tile_picture); 
      // We Need TO pass Context 
      Picasso.with(ctx).load(image).into(post_image); 
     } }} 
+1

を使用して画像をリサイズ自動的に試してみてくださいフルサイズで読み込むのではなく、デフォルトでイメージをダウンサンプリングします。 –

答えて

0

グライドので、積載性を改善する必要がありたぶん、あなたはグライドの代わりに、ピカソ https://github.com/bumptech/glide を使用してみてください

Picasso.with(ctx).load(image).fit().into(post_image); 
関連する問題