android从URL显示图像时出现错误

android从URL显示图像时出现错误,第1张

概述当我使用以下代码从url显示图像时,应用程序花费太多时间从服务器加载图像.如果要加载8-10张图像,则应用程序挂起.Bitmapmbmp=BitmapFactory.decodeStream(newjava.net.URL("urlname").openStream());Imageview_ref.setImageBitmap(mbmp);并在Logcat中获取09-1511:34:14

当我使用以下代码从url显示图像时,应用程序花费太多时间从服务器加载图像.如果要加载8-10张图像,则应用程序挂起.

Bitmap mbmp = BitmapFactory.decodeStream(new java.net.URL("urlname").openStream());ImagevIEw_ref.setimageBitmap(mbmp);

并在Logcat中获取

09-15 11:34:14.265: ERROR/Cursor(14443): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.UserLogin/databases/sample.db, table = null, query = SELECT Locationname , LocationImage FROM LocationList09-15 11:34:14.265: ERROR/Cursor(14443): androID.database.sqlite.DatabaSEObjectNotClosedException: Application dID not close the cursor or database object that was opened here09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.database.sqlite.sqliteCursor.<init>(sqliteCursor.java:210)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.database.sqlite.sqliteDirectCursorDriver.query(sqliteDirectCursorDriver.java:53)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.database.sqlite.sqliteDatabase.rawqueryWithFactory(sqliteDatabase.java:1345)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.database.sqlite.sqliteDatabase.rawquery(sqliteDatabase.java:1315)09-15 11:34:14.265: ERROR/Cursor(14443):     at com.UserLogin.Findplaces.getallLocs(Findplaces.java:134)09-15 11:34:14.265: ERROR/Cursor(14443):     at com.UserLogin.Findplaces.onCreate(Findplaces.java:37)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2627)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.app.ActivityThread.startActivityNow(ActivityThread.java:2503)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.app.LocalActivityManager.movetoState(LocalActivityManager.java:127)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.Widget.TabHost$IntentContentStrategy.getContentVIEw(TabHost.java:651)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.Widget.TabHost.setCurrentTab(TabHost.java:323)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.Widget.TabHost.onTabSelectionChanged(TabHost.java:129)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.Widget.TabWidget$TabClickListener.onClick(TabWidget.java:453)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.vIEw.VIEw.performClick(VIEw.java:2408)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.vIEw.VIEw$PerformClick.run(VIEw.java:8816)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.os.Handler.handleCallback(Handler.java:587)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.os.Handler.dispatchMessage(Handler.java:92)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.os.Looper.loop(Looper.java:123)09-15 11:34:14.265: ERROR/Cursor(14443):     at androID.app.ActivityThread.main(ActivityThread.java:4627)09-15 11:34:14.265: ERROR/Cursor(14443):     at java.lang.reflect.Method.invokeNative(Native Method)09-15 11:34:14.265: ERROR/Cursor(14443):     at java.lang.reflect.Method.invoke(Method.java:521)09-15 11:34:14.265: ERROR/Cursor(14443):     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)09-15 11:34:14.265: ERROR/Cursor(14443):     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:626)09-15 11:34:14.265: ERROR/Cursor(14443):     at dalvik.system.NativeStart.main(Native Method)

与此logcat错误消息,我仍然得到输出.

这是我更新的代码视图.

public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) {            // Todo auto-generated method stub            VIEw v = convertVIEw;            if(v == null){                LayoutInflater vl = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);                v = vl.inflate(R.layout.placesList, null);            }            FIElds o = results.get(position);            if (o != null) {                TextVIEw iv = (TextVIEw)v.findVIEwByID(R.ID.toptext);                ImageVIEw tv_Image = (ImageVIEw)v.findVIEwByID(R.ID.Locimage);                iv.setText(o.getLocationname());                                            try {                    Bitmap bitmap = BitmapFactory.decodeStream((inputStream) new URL(o.getLocationImage()).getContent());                    tv_Image.setimageBitmap(bitmap);                } catch (Exception e) {                    e.printstacktrace();                }            }            return v;        }           }

解决方法:

请尝试这个::

            try {        Bitmap bitmap = BitmapFactory.decodeStream((inputStream) new URL(                "http://xyz.com/a/f/a.png")                .getContent());        tran_btn_skip.setimageBitmap(bitmap);    } catch (Exception e) {    }

确保您必须授予Internet许可

总结

以上是内存溢出为你收集整理的android从URL显示图像时出现错误全部内容,希望文章能够帮你解决android从URL显示图像时出现错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1083713.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存