पिकासो वी / एस इमेजेलोएडर वी / एस फ्रेस्को बनाम ग्लाइड [बंद]


344

जाँच - परिणाम:

  1. यहाँ पिकासो v / s ImageLoader के बीच अंतर ...
  2. लाइब्रेरी GLIDE के बारे में जानकारी यहाँ ...
  3. अब हाल ही में फेसबुक ने फ्रेस्को नाम से नई इमेज लाइब्रेरी जारी की

प्रशन:

  1. पिकासो वी / एस इमेजेलोएडर वी / एस फ्रेस्को के बीच अंतर क्या है
  2. हम ग्लाइड का उपयोग कब कर सकते हैं
  3. जो उपयोग करने के लिए सबसे अच्छा पुस्तकालय है।
  4. यदि प्रत्येक पुस्तकालय का अपना महत्व है, तो वे क्या हैं?

मुझे फ्रेस्को में भी दिलचस्पी है। कोई भी अंतर समझा सकता है?
क्रिट


8
यह राय आधारित प्रश्न पूछने की जगह नहीं है
danny117

16
@ danny117 तो हम यहां क्या कर सकते हैं अगर हमें इसके बारे में कोई विचार नहीं है?
आनंद सवजनी

2
@ शोभितपुरी यह उपकरण आपको विधि गणना की जांच करने में मदद करेगा
निकोलस एनजी

जवाबों:


189

मैं फ्रेस्को प्रोजेक्ट पर इंजीनियरों में से एक हूं। तो जाहिर है मैं पक्षपाती हूं।

लेकिन आपको इसके लिए मेरा शब्द नहीं लेना है। हमने एक नमूना ऐप जारी किया है जो आपको पांच पुस्तकालयों - फ्रेस्को, पिकासो, यूआईएल, ग्लाइड और वॉली इमेज लोडर के प्रदर्शन की तुलना करने की अनुमति देता है। आप इसे हमारे GitHub रेपो में प्राप्त कर सकते हैं ।

मुझे यह भी बताना चाहिए कि फ्रेस्को मावेन सेंट्रल पर उपलब्ध है, जैसा कि com.facebook.fresco:fresco

फ्रेस्को ने ऐसी सुविधाएँ पेश कीं जिनमें पिकासो, यूआईएल और ग्लाइड अभी तक नहीं हैं:

  1. छवियों को जावा हीप में संग्रहीत नहीं किया जाता है, लेकिन एशम के ढेर में। इंटरमीडिएट बाइट बफ़र्स को भी देशी ढेर में संग्रहीत किया जाता है। यह उपयोग करने के लिए अनुप्रयोगों के लिए उपलब्ध एक बहुत अधिक स्मृति छोड़ देता है। यह OutOfMemoryErrors के जोखिम को कम करता है। यह कचरा संग्रह ऐप्स की मात्रा को भी कम करता है, जिससे बेहतर प्रदर्शन होता है।
  2. प्रगतिशील JPEG छवियों को स्ट्रीम किया जा सकता है, ठीक वेब ब्राउज़र की तरह।
  3. छवियों को केवल केंद्र ही नहीं, किसी भी बिंदु के आसपास क्रॉप किया जा सकता है।
  4. जेपीईजी छवियों को मूल रूप से आकार दिया जा सकता है। यह एक छवि को डाउन करने की कोशिश करते समय OOMing की समस्या से बचा जाता है।

कई अन्य हैं ( हमारे दस्तावेज देखें ), लेकिन ये सबसे महत्वपूर्ण हैं।


1
धन्यवाद, क्या आप "हम आपके जवाब के लिए एक सारणीबद्ध प्रारूप में पांच पुस्तकालयों के प्रदर्शन की तुलना करने की अनुमति देता है" एक नमूना ऐप जारी कर सकते हैं?
mmlooloo

1
फ्रेस्को में दूसरों की तुलना में कुछ अधिक विशेषताएं हैं, लेकिन यह भी बड़ा है ..
ligi

4
उन्होंने लिंक के पीछे एक 's' जोड़ा। github.com/facebook/fresco/tree/master/samples
JR Tan

Frtyco में रुचि रखने वाले @tyronen im। क्या यह नेटवर्क से स्थानीय छवियों को लोड करने की अनुमति देता है? धन्यवाद
GmloMalo

1
@wedi हां यह है।
13

131

आप ध्यान रखें कि यह एक उच्च विचार आधारित प्रश्न है, इसलिए मैंने फोजर बनाना बंद कर दिया और एक त्वरित तालिका बनाई

यहां छवि विवरण दर्ज करें

अब पुस्तकालय की तुलना कठिन है क्योंकि कई मापदंडों पर, सभी चार बहुत ज्यादा एक ही काम करते हैं, संभवतः फ्रैस्को के लिए छोड़कर क्योंकि इसमें नए मेमोरी स्तर अनुकूलन का एक पूरा गुच्छा है। मुझे बताएं कि क्या कुछ पैरामीटर आप करना चाहते हैं मेरे अनुभव के आधार पर तुलना देखें।

फ्रेस्को का कम से कम उपयोग करने के बाद, उत्तर विकसित हो सकता है क्योंकि मैं इसे वर्तमान कारनामों के लिए उपयोग करना और समझना जारी रखता हूं। used personallyएक पूरा अनुप्रयोग में एक बार कम से कम पुस्तकालय का उपयोग कर लेने है।

* नोट - फ्रेस्को अब GIF के साथ-साथ वेबप एनिमेशन का भी समर्थन करता है


1
मैं कम 'कस्टमिज़ेबिलिटी', 'नेटवर्क इमेज यूज़', और फ्रेस्को के लिए 'उपयोग में आसानी' रेटिंग्स के बारे में उत्सुक हूं। इन रेटिंग्स का आधार क्या है?
tyronen

1
ज्यादातर पहला प्रयोग, फ्रेस्को को समझने के लिए थोड़ा और अधिक उपयोग किया जाएगा, यह उत्तर विकसित हो सकता है :)
व्रषभ इरडे

1
@Slartibartfast क्या आपको फ्रेस्को और नवीनतम ग्लाइड 3.0 संस्करण की कोशिश करने का मौका मिला? क्या आप अभी भी उन्हें वही रेट करेंगे?
शोभित पुरी

2
आपने एक महत्वपूर्ण पहलू को याद किया। ... पुस्तकालय का आकार। यह मुख्य कारण है कि पिकासो और UImageLoader GIF का समर्थन नहीं करते हैं। लाइसेंस भी शामिल करने के लिए अच्छा होगा।
कोड

3
@ अहदुल्लाहसाहैत वे व्यक्तिगत रूप से इस्तेमाल करते थे।
पियरे

112

फ्रेस्को स्रोत | बंद साइट
(-)
- लाइब्रेरी का विशाल आकार
- दृश्य के साथ कोई कॉलबैक नहीं, बिटमैप पैरामीटर
- SimpleDraweeView रैप_ कॉन्टेंट का समर्थन नहीं करता है
- कैश का विशाल आकार
(+)
- बहुत तेज़ छवि लोडर (छोटे और& मध्यम चित्रों के लिए)
- बहुत अधिक कार्यक्षमता (स्ट्रीमिंग, ड्राइंग टूल्स, मेमोरी मैनेजमेंट आदि)
- सीधे xml (उदाहरण के लिए गोल कोनों) में सेटअप करने की संभावना
- GIF सपोर्ट
- वेबपी और एनिमेटेड वेबप सपोर्ट


पिकासो स्रोत | बंद साइट
(-)
- धीरे-धीरे इंटरनेट से बड़ी छवियों को सूची दृश्य
(+) में लोड करना
- लाइब्रेरी का टिन का आकार
- कैश का छोटा आकार
- उपयोग में सरल
- यूआई फ्रीज नहीं है
- वेबपी समर्थन


ग्लाइड स्रोत

(-)
- लाइब्रेरी का बड़ा आकार
(+)
- कैश का टिन का आकार
- उपयोग में सरल
- GIF समर्थन
- वेबपी समर्थन
- सूची से इंटरनेट में बड़ी छवियों को तेजी से लोड करना
- यूआई फ्रीज नहीं है
- बिटमैपपूल मेमोरी का पुनः उपयोग करने के लिए इस प्रकार जीसी घटनाओं को कम करता है


यूनिवर्सल इमेज लोडर स्रोत

(-)
- सीमित कार्यक्षमता (सीमित इमेज प्रोसेसिंग)
- परियोजना समर्थन २er.११.२०१५
(+) के बाद से बंद हो गया है
- पुस्तकालय का टिन का आकार
- उपयोग में सरल


मेरे द्वारा एसजीएस 2 (एंड्रॉइड 4.1) (वाईफाई 8.43 एमबीपीएस) पर
जावा द्वारा आधिकारिक संस्करण का परीक्षण किया गया, एक्समरीन के लिए नहीं!
19 अक्टूबर 2015

मैं ग्लाइड का उपयोग करना पसंद करता हूं।
और अधिक पढ़ें यहाँग्लाइड के साथ
एक्सटर्नल स्टोरेज (एसडी कार्ड) पर कैश कैसे लिखें


4
"सुंदर तेज़ छवि लोडर" फ्रेस्को के लिए "ऐप फ्रीज" के विपरीत लगता है।
ट्वीस्टेरोब

2
मेरे पास एक ज़ामारिन परियोजना में पिकासो है और मेमोरी का उपयोग बहुत बड़ा था (जिसका उपयोग छवियों को पुनर्नवीनीकरण दृश्य में लोड करने के लिए किया गया था)। OutOfMemoryहर समय ...
वाहिद अमीरी

@ VSG24 में 2 विकल्प हैं: 1) आप इसे गलत इस्तेमाल कर रहे हैं। 2) एंड्रॉयड (जावा) lib के संस्करण Xamarain के लिए समान नहीं है
वलोडिमिर कुलीक

1
ग्लाइड निगेटिव (-) के रूप में मैंने बहुत चंचलता का अनुभव किया है। लोड की गई छवियों को "री-सेट" कहीं से नहीं मिलेगा
FRR

1
@RJFares मैंने हाल ही में नवीनतम संस्करण की कोशिश की, आप ImagePipelineConfig.setDownsampleEnabled(true)इसे ठंड से बचाने के लिए उपयोग कर सकते हैं । लेकिन यह कभी-कभी GIF के फ्रेम को छोड़ देता है। यदि आप केवल अपने ऐप पर स्थिर चित्र प्रदर्शित करते हैं, तो मुझे लगता है कि आप इसे आज़मा सकते हैं।
किमी चिउ

109

ये जवाब पूरी तरह से मेरी राय है

जवाब

  1. पिकासो छवि लोडर का उपयोग करने के लिए एक आसान है, इमेजिलैडर के लिए समान है। फ्रेस्को छवि लोड करने के लिए एक अलग दृष्टिकोण का उपयोग करता है, मैंने अभी तक इसका उपयोग नहीं किया है लेकिन यह मुझे नेटवर्क से छवि प्राप्त करने और फिर उन्हें दिखाते हुए कैशिंग के लिए एक समाधान की तरह बहुत अधिक लग रहा है। फिर पिकासो / इमैजेलोएडर / ग्लाइड की तरह दूसरा तरीका जो मेरे लिए स्क्रीन पर अधिक छवि दिखा रहा है जो नेटवर्क से चित्र प्राप्त कर रहा है और उन्हें कैशिंग कर रहा है।

  2. ग्लाइड पिकासो के साथ कुछ हद तक विनिमेय होने की कोशिश करता है। मुझे लगता है कि जब वे पिकासो के दिमाग सेट बनाए गए थे, तो HTTP की कल्पना का अनुसरण किया गया था और सर्वर को कैशिंग नीतियों और कैश का पूर्ण आकार तय करने और मांग पर आकार देने दें। ग्लाइड एचटीटीपी युक्ति का अनुसरण करने के साथ ही है, लेकिन फुलसाइज्ड छवियों के बजाय रिसाइज्ड छवियों को कैश की तरह कुछ अलग धारणा बनाकर एक छोटा मेमोरी फुटप्रिंट देने की कोशिश करता है, और RGB_8888 के बजाय RGB_565 के साथ चित्र दिखाता है। दोनों पुस्तकालय डिफ़ॉल्ट सेटिंग्स का पूर्ण अनुकूलन प्रदान करते हैं।

  3. जैसा कि पुस्तकालय का उपयोग करने के लिए सबसे अच्छा है वास्तव में कहना मुश्किल है। पिकासो, ग्लाइड और इमैजेलोएडर अच्छी तरह से सम्मानित और अच्छी तरह से परीक्षण किए गए पुस्तकालय हैं जो सभी डिफ़ॉल्ट सेटिंग्स के साथ उपयोग करना आसान है। पिकासो और ग्लाइड दोनों को एक छवि को लोड करने के लिए कोड की केवल 1 पंक्ति की आवश्यकता होती है और एक प्लेसहोल्डर और त्रुटि छवि होती है। व्यवहार को अनुकूलित करना भी उतना काम करने की आवश्यकता नहीं है। उसी इमेजेलोएडर के लिए जाता है जो पिकासो और ग्लाइड भी एक पुराना पुस्तकालय है, हालांकि मैंने इसका उपयोग नहीं किया है इसलिए प्रदर्शन / स्मृति उपयोग / अनुकूलन के बारे में बहुत कुछ नहीं कह सकता लेकिन गिथब पर रीडमी को देखने से मुझे यह आभास होता है कि यह भी है अपेक्षाकृत आसान उपयोग और सेटअप। इसलिए इन 3 पुस्तकालयों में से किसी को चुनने में आप गलत निर्णय नहीं ले सकते हैं, यह व्यक्तिगत स्वाद का मामला है।फेसबुक एसडीके की तरह अभी भी आधिकारिक तौर पर mavenCentral पर जारी नहीं किया गया है मैंने sept 2014 के बाद से फेसबुक sdk का उपयोग नहीं किया है और ऐसा लगता है कि उन्होंने अक्टूबर 2014 में mavenCentral पर पहला संस्करण ऑनलाइन डाला है। इसलिए हमें कुछ भी प्राप्त करने से पहले कुछ समय लगेगा। इसके बारे में अच्छी राय।

  4. 3 बड़े नाम पुस्तकालयों के बीच मुझे लगता है कि कोई महत्वपूर्ण अंतर नहीं हैं। केवल एक ही है जो बाहर खड़ा है फ्रेस्को है लेकिन ऐसा इसलिए है क्योंकि इसका एक अलग दृष्टिकोण है और यह नया है और लड़ाई का परीक्षण नहीं है।


3
माइनर नाइट: ऐसा लगता है कि फेसबुक एसडीके आधिकारिक तौर पर कुछ समय के लिए मावेन सेंट्रल पर एएआर के रूप में उपलब्ध है। Developers.facebook.com/docs/android/…
orip

1
सुधार के लिए thx, यह थोड़ी देर के बाद से मैं फेसबुक एसडीके का उपयोग किया है तो मैं उस की जाँच नहीं की थी। फिर भी उन्हें वहाँ जाने में बहुत समय लगा।
एजिस

1
इसे पढ़ने के एक साल बाद, मैं अभी भी सोच रहा था कि मुझे फ्रेस्को का उपयोग करना चाहिए और मैं अभी भी नहीं देख सकता कि मुझे क्यों करना चाहिए। जबकि ग्लाइड और पिकासो बॉक्स से बाहर काम करते हैं, फ्रेस्को को बस आपको बहुत सारे काम करने की ज़रूरत है कि यह ऐसा नहीं दिखता है जैसे कि यह इसके लायक है और आकार ....
ठंढा मार्वल

मैं
बताना

मैंने फ्रेस्को के साथ मेमोरी के मुद्दों का भी अनुभव किया है, दुर्भाग्य से ऐसा लगता है कि इसे या तो फ्रेस्को या ग्लाइड करना होगा यदि आपको एनिमेटेड जिफ सपोर्ट की आवश्यकता है। इसके अलावा एफडब्ल्यूआईडब्ल्यू यहां कुछ अतिरिक्त तुलना विवरणों की एक कड़ी है।
निक

63

न तो ग्लाइड और न ही पिकासो परफेक्ट है। जिस तरह से ग्लाइड एक छवि को मेमोरी में लोड करता है और कैशिंग करता है वह पिकासो की तुलना में बेहतर है जो एक छवि को बहुत तेजी से लोड होने देता है। इसके अलावा, यह एक ऐप को लोकप्रिय OutOfMemoryError से रोकने में भी मदद करता है। जीआईएफ एनीमेशन लोडिंग ग्लाइड द्वारा प्रदान की जाने वाली एक हत्या सुविधा है। वैसे भी पिकासो ग्लाइड की तुलना में बेहतर गुणवत्ता वाली छवि को डिकोड करता है।

मुझे कौन सा पसंद है? हालांकि मैं पिकासो का उपयोग बहुत लंबे समय से करता हूं, लेकिन मुझे यह स्वीकार करना चाहिए कि मैं अब ग्लाइड पसंद करता हूं। लेकिन मैं आपको बिटमैप फॉर्मेट को ARGB_8888 में बदलने की सलाह दूंगा और ग्लाइड कैश को फुल-साइज़ इमेज दोनों में बदल दूंगा और पहले एक आकार दिया। बाकी आपका काम बहुत अच्छा होगा!

  • पिकासो और ग्लाइड की विधि गणना क्रमशः 840 और 2678 पर है।
  • पिकासो (v2.5.1) का आकार लगभग 118KB है जबकि ग्लाइड (v3.5.2) का आकार 430KB है।
  • ग्लाइड प्रति आकार में कैश्ड चित्र बनाता है जबकि पिकासो पूर्ण छवि को सहेजता है और इसे संसाधित करता है, इसलिए लोड पर यह ग्लाइड के साथ तेजी से दिखाता है लेकिन इसकी मेमोरी का उपयोग करता है।
  • ग्लाइड डिफ़ॉल्ट रूप से कम मेमोरी का उपयोग करते हैं RGB_565

पिकासो पैलेट हेल्पर के लिए +1 ।

एक पोस्ट है जो पिकासो बनाम ग्लाइड पोस्ट के बारे में बहुत बात करती है


बहुत बढ़िया लेख। मैं अब ग्लाइड पर स्विच कर रहा हूं। पिकासो से भी बेहतर वह नहीं है जो मेरे मन में था। :)
सूफियान

1
एक मुद्दा मैं देख रहा हूं कि ग्लाइड को एपीआई 10 की आवश्यकता है। यह एक समस्या है, क्योंकि मैं अपने ऐप से एपीआई 9 समर्थन को नहीं छोड़ सकता। अन्यथा निश्चित रूप से एक बेहतर तरीका है।
सूफियान

क्या आप समझा सकते हैं कि आप एपी 9 का उपयोग क्यों कर रहे हैं? बस जिज्ञासु ...
डैनियल गोमेज़ रिको

जब तक मैं कुछ याद नहीं कर रहा हूं, यह सभी जिंजरब्रेड संस्करणों का समर्थन करने के लिए है।
सूफियान

1
मुझे लगता है कि यह थोड़ा व्यक्तिपरक है। लेकिन अधिक से अधिक उपकरणों / संस्करणों का समर्थन करना बेहतर बात है। नहीं? :)
सूफियान

18

मैं आपके साथ पिकासो, यूनिवर्सल इमेज लोडर और ग्लाइड के बीच एक बेंचमार्क साझा करना चाहता हूं : https://bit.ly/1kQs3QN

फ्रेस्को बेंचमार्क से बाहर थे क्योंकि परियोजना के लिए मैं परीक्षण चला रहा था, हम अपने लेआउट (क्योंकि ड्रेव दृश्य) को फिर से बनाना नहीं चाहते थे।

मैं जो सुझाता हूं वह है यूनिवर्सल इमेज लोडर क्योंकि इसके अनुकूलन, मेमोरी की खपत और आकार और विधियों के बीच संतुलन।

यदि आपके पास एक छोटी परियोजना है, तो मैं ग्लाइड के लिए जाऊंगा (या फ्रेस्को एक कोशिश करूँगा)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.