1.you have to scale down your bitmaps by seeing best practices by android
developers
https://developer.android.com/training/displaying-bitmaps/load-bitmap.html#read-bitmap

2. you have to process bitmap off the UI thread. check this..
https://developer.android.com/training/displaying-bitmaps/process-bitmap.html

3. If you load any images from resource also scale down its size.
Thanks hope this helps you out..
Couple off days ago i also solve the problem by using these links..


On Thu, Nov 17, 2016 at 1:27 AM, Chairi Kiourt <[email protected]> wrote:

> Any help please???
>
>
>
>
> On Tuesday, November 15, 2016 at 7:04:11 PM UTC+2, Chairi Kiourt wrote:
>>
>> Hi everyone i am new to android
>>
>> I have an app which gets data from a mysql by using php. The problem is
>> that the application crashes some times unexpectivly, i put the firebase
>> crash report and i get the following errors:
>>
>> Exception java.lang.IllegalStateException: ImageLoader must be init with
>> configuration before using
>> com.nostra13.universalimageloader.core.ImageLoader.checkConfiguration (
>> ImageLoader.java:568)
>> com.nostra13.universalimageloader.core.ImageLoader.displayImage (
>> ImageLoader.java:208)
>> com.nostra13.universalimageloader.core.ImageLoader.displayImage (
>> ImageLoader.java:365)
>> com.nostra13.universalimageloader.core.ImageLoader.displayImage (
>> ImageLoader.java:340)
>> forme.restaurant.digital.menu.view.ImageUtil.displayRoundImage (ImageUtil
>> .java:29)
>> forme.restaurant.digital.menu.activities.RecycleViewAdapterNew.onBindViewHolder
>> (RecycleViewAdapterNew.java:108)
>> forme.restaurant.digital.menu.activities.RecycleViewAdapterNew.onBindViewHolder
>> (RecycleViewAdapterNew.java:36)
>> android.support.v7.widget.RecyclerView$Adapter.bindViewHolder (
>> RecyclerView.java:5138)
>> android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (
>> RecyclerView.java:4433)
>> android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (
>> RecyclerView.java:4326)
>> android.support.v7.widget.LinearLayoutManager$LayoutState.next (
>> LinearLayoutManager.java:1955)
>> android.support.v7.widget.LinearLayoutManager.layoutChunk (
>> LinearLayoutManager.java:1364)
>> android.support.v7.widget.LinearLayoutManager.fill (LinearLayoutManager.
>> java:1327)
>> android.support.v7.widget.LinearLayoutManager.onLayoutChildren (
>> LinearLayoutManager.java:556)
>> android.support.v7.widget.RecyclerView.dispatchLayout (RecyclerView.java:
>> 2713)
>> android.support.v7.widget.RecyclerView.onLayout (RecyclerView.java:3011)
>> android.view.View.layout (View.java:15905)
>> android.view.ViewGroup.layout (ViewGroup.java:5108)
>> android.widget.LinearLayout.setChildFrame (LinearLayout.java:1959)
>> android.widget.LinearLayout.layoutVertical (LinearLayout.java:1813)
>> android.widget.LinearLayout.onLayout (LinearLayout.java:1722)
>> android.view.View.layout (View.java:15905)
>> android.view.ViewGroup.layout (ViewGroup.java:5108)
>> android.widget.FrameLayout.layoutChildren (FrameLayout.java:633)
>> android.widget.FrameLayout.onLayout (FrameLayout.java:568)
>> android.view.View.layout (View.java:15905)
>> android.view.ViewGroup.layout (ViewGroup.java:5108)
>> android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout (
>> ActionBarOverlayLayout.java:493)
>> android.view.View.layout (View.java:15905)
>> android.view.ViewGroup.layout (ViewGroup.java:5108)
>> android.widget.FrameLayout.layoutChildren (FrameLayout.java:633)
>> android.widget.FrameLayout.onLayout (FrameLayout.java:568)
>> android.view.View.layout (View.java:15905)
>> android.view.ViewGroup.layout (ViewGroup.java:5108)
>> android.widget.LinearLayout.setChildFrame (LinearLayout.java:1959)
>> android.widget.LinearLayout.layoutVertical (LinearLayout.java:1813)
>> android.widget.LinearLayout.onLayout (LinearLayout.java:1722)
>> android.view.View.layout (View.java:15905)
>> android.view.ViewGroup.layout (ViewGroup.java:5108)
>> android.widget.FrameLayout.layoutChildren (FrameLayout.java:633)
>> android.widget.FrameLayout.onLayout (FrameLayout.java:568)
>> android.view.View.layout (View.java:15905)
>> android.view.ViewGroup.layout (ViewGroup.java:5108)
>> android.view.ViewRootImpl.performLayout (ViewRootImpl.java:2425)
>> android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2131)
>> android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1256)
>> android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6443)
>> android.view.Choreographer$CallbackRecord.run (Choreographer.java:800)
>> android.view.Choreographer.doCallbacks (Choreographer.java:603)
>> android.view.Choreographer.doFrame (Choreographer.java:572)
>> android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.
>> java:786)
>> android.os.Handler.handleCallback (Handler.java:815)
>> android.os.Handler.dispatchMessage (Handler.java:104)
>> android.os.Looper.loop (Looper.java:194)
>> android.app.ActivityThread.main (ActivityThread.java:5576)
>> java.lang.reflect.Method.invoke (Method.java)
>> java.lang.reflect.Method.invoke (Method.java:372)
>> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.
>> java:955)
>> com.android.internal.os.ZygoteInit.main (ZygoteInit.java:750)
>>
>> I have these code
>>
>>
>> CusDi.java
>> public class CusDi extends AppCompatActivity {
>>
>> protected void onCreate(Bundle savedInstanceState) {
>>
>>
>> getCusDi();
>>
>>
>> }
>>
>> private void getCusDi() {
>>     M.showLoadingDialog(CusDi.this);
>>     CusDiAPI mCommentsAPI = APIService.createService(CusDiAPI.class);
>>     mCommentsAPI.getUserPosts(cuisineid, new Callback<List<CusDiPojo>>() {
>>
>>
>>         @Override
>>         public void success(List<CusDiPojo> cusDiPojos, Response response) {
>>             if (cusDiPojos != null) {
>>                 cusdilist = cusDiPojos;
>>                 for (CusDiPojo cusdidata : cusdilist) {
>>                     String cstdiid=cusdidata.getDisid();
>>                     String cstcuiid=cusdidata.getCusineid();
>>                     String cstdiname=cusdidata.getDishname();
>>                     String cstditype=cusdidata.getDishtype();
>>                     String cstdes=cusdidata.getDescription();
>>                     String cstprice=cusdidata.getPrice();
>>                     String cstdimg=cusdidata.getDishimage();
>>                     cusdilist.add(cstdiid);
>>                     cuscuiidlist.add(cstcuiid);
>>                     cusdnamelist.add(cstdiname);
>>                     cusdtypelist.add(cstditype);
>>                     cusdeslist.add(cstdes);
>>                     cusdpricelist.add(cstprice);
>>                     cusimglist.add(cstdimg);
>>                 }
>>                 recycleradapternew = new RecycleViewAdapterNew(CusDi.this, 
>> getApplicationContext(), cusdilist);
>>                 mRecyclerView1.setAdapter(recycleradapternew);
>>             }
>>             M.hideLoadingDialog();
>>         }
>>
>>         @Override
>>         public void failure(RetrofitError error) {
>>             M.hideLoadingDialog();
>>             Log.e("error", error.getMessage());
>>         }
>>     });
>> }
>>
>>
>> }
>>
>>
>>
>>
>>
>>
>> RecycleViewAdapterNew.java
>>
>> public class RecycleViewAdapterNew extends 
>> RecyclerView.Adapter<RecycleViewAdapterNew.DataObjectHolder> {
>>
>> public void onBindViewHolder(final DataObjectHolder holder, final int 
>> position) {
>>
>>    ImageUtil.displayRoundImage(holder.imgdish, DataManager.URL + 
>> custdisheslist.get(position).getDishimage(), null); //this is the lie 108
>>
>> }
>>
>>
>> }
>>
>>
>>
>>
>>
>> ImageUtil.java
>>
>> public class ImageUtil {
>>
>> public static void loadImage(String path, ImageLoadingListener listener) {
>>    ImageLoader loader = ImageLoader.getInstance();
>>    try {
>>       loader.loadImage(path, DEFAULT_DISPLAY_IMAGE_OPTIONS, listener);
>>    } catch (OutOfMemoryError e) {
>>       e.printStackTrace();
>>    }
>> }
>>
>>
>> }
>>
>>
>> After i search the internet i fount out this link1
>> <http://stackoverflow.com/questions/17737858/android-imageloader-must-be-init-with-configuration-before-using-in-uil>
>>  link
>> 2
>> <http://stackoverflow.com/questions/32560751/android-image-loader-error>,
>> but i didnot understand how to implement it. Can you please help me??
>>
>>
>> Also i have this error some times,can you provide me any solution.
>>
>> Exception java.lang.OutOfMemoryError: Failed to allocate a 79888 byte
>> allocation with 10833 free bytes and 10KB until OOM
>> java.lang.String.<init> (String.java:233)
>> libcore.io.IoUtils$FileReader.toString (IoUtils.java:274)
>> libcore.io.IoUtils.readFileAsString (IoUtils.java:116)
>> com.android.org.conscrypt.CertPinManager.readPinFile (CertPinManager.java
>> :120)
>> com.android.org.conscrypt.CertPinManager.ensureInitialized
>> (CertPinManager.java:92)
>> com.android.org.conscrypt.CertPinManager.lookup (CertPinManager.java:136)
>> com.android.org.conscrypt.CertPinManager.isChainValid
>> (CertPinManager.java:72)
>> com.android.org.conscrypt.TrustManagerImpl.checkTrusted
>> (TrustManagerImpl.java:302)
>> com.android.org.conscrypt.TrustManagerImpl.checkServerTrusted
>> (TrustManagerImpl.java:219)
>> com.android.org.conscrypt.Platform.checkServerTrusted (Platform.java:113)
>> com.android.org.conscrypt.OpenSSLSocketImpl.verifyCertificateChain
>> (OpenSSLSocketImpl.java:540)
>> com.android.org.conscrypt.NativeCrypto.SSL_do_handshake
>> (NativeCrypto.java)
>> com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake
>> (OpenSSLSocketImpl.java:307)
>> com.android.okhttp.Connection.upgradeToTls (Connection.java:201)
>> com.android.okhttp.Connection.connect (Connection.java:155)
>> com.android.okhttp.internal.http.HttpEngine.connect (HttpEngine.java:282)
>> com.android.okhttp.internal.http.HttpEngine.sendRequest (HttpEngine.java
>> :216)
>> com.android.okhttp.internal.http.HttpURLConnectionImpl.execute
>> (HttpURLConnectionImpl.java:382)
>> com.android.okhttp.internal.http.HttpURLConnectionImpl.connect
>> (HttpURLConnectionImpl.java:106)
>> com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream
>> (HttpURLConnectionImpl.java:208)
>> com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getOutputStream
>> (DelegatingHttpsURLConnection.java:218)
>> com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream
>> (HttpsURLConnectionImpl.java:25)
>> bme.a (:com.google.android.gms.DynamiteModulesC:27)
>> blt.a (:com.google.android.gms.DynamiteModulesC:40)
>> blz.a (:com.google.android.gms.DynamiteModulesC:5055)
>> blz.run (:com.google.android.gms.DynamiteModulesC:54)
>> java.util.concurrent.ThreadPoolExecutor.runWorker
>> (ThreadPoolExecutor.java:1112)
>> java.util.concurrent.ThreadPoolExecutor$Worker.run
>> (ThreadPoolExecutor.java:587)
>> java.lang.Thread.run (Thread.java:818)
>> VM free: 69.49KB
>> VM total: 128MB
>> VM max: 128MB
>>
>> Thank you in advance
>>
>>
>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Android Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/android-developers.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/android-developers/fda35245-1543-4bf1-83ca-
> 5dcf032b672d%40googlegroups.com
> <https://groups.google.com/d/msgid/android-developers/fda35245-1543-4bf1-83ca-5dcf032b672d%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/CABHzXARNKVV1iO5y-3bBTwcUPfvwP6w_WzqWhzY3q_2XQA5%3Dvg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to