سلام به دوستان
من جدولی با فیلدهای زیر دارم:
ID,ImageURL,ImageTarget
و می خوام این سناریو رو پیاده کنم :
1- خواندن همه رکوردها و دانلود تصویر موجود در فیلد ImageUrl
2- ذخیره تصویر دانلود شده در حافظه دستگاه dirInternal و به روز رسانی فیلد ImageTarget
3- نمایش همه تصاویر در مولتی پنل
من این کار رو از طریق زیر انجام دادم:
SubLoadImagesProgressDialogShow2("getting start",False)Dim i AsIntDim topY asInt=0Dim query as SQL
Dim records asCursor
svPanel.Panel.RemoveAllViews
records = query.ExecQuery("select ID,ImgUrl,ImgFileName from tblImages limit 25")If(records.RowCount>0)ThenFor i =0To records.RowCount-1
records.Position= i
topY =2%y
Dim ps AsPanel
ps.Initialize("ps")
svPanel.Panel.AddView(ps,1%x,topY,98%x,25%y)
ps.LoadLayout("layoutElements")ImageView1.tag ="img"& i &".png"Dim target AsDefaultTarget
target.Initialize("target",ImageView1)'ImageView1 Defined in layoutElements
Dim p As Picasso
p.Initialize
p.LoadUrl( records.GetString("ImgUrl") ).Fetch(target)
p.LoadUrl( records.GetString("ImgUrl") ).IntoImageView(ImageView1)
Next
Else
Log("no records found")
End If
records.Close
ProgressDialogHide
End Sub
Sub target_Success(Bitmap1 As Bitmap, Tag As Object)
Dim img As ImageView
img = Tag
Dim filename As String = img.Tag
Dim ou As OutputStream
ou = File.OpenOutput(File.DirInternal,filename,False)
Bitmap1.WriteToStream(ou,100,"PNG")
ou.Close
img.SetBackgroundImage(LoadBitmap(File.DirInternal,filename))
End Sub
اما مشکل: این کد پرفورمنس پایینی داره و با توجه به زمان دانلود تصاویر کندی زیادی در لود اکتیویتی داره
بنده از نخ هم استفاده کردم و تابع LoadImages رو توسط اونها فراخوانی کردم اما هیچ تفاوتی در سرعت اجرا نکرد
نحوه فراخوانی تابع با نخ:
Dim thread AsThread
thread.Initialise("thread")
thread.RunOnGuiThread("LoadImages",Null)
حالا ممنون خواهم شد که اگر دوستان راهکار دیگه ای برا بهینه کردن کد من یا بالا بردن سرعت لود سراغ دارن با بنده به اشتراک بگذارند.
سوال
netlog 9
سلام به دوستان
من جدولی با فیلدهای زیر دارم:
ID,ImageURL,ImageTarget
و می خوام این سناریو رو پیاده کنم :
1- خواندن همه رکوردها و دانلود تصویر موجود در فیلد ImageUrl
2- ذخیره تصویر دانلود شده در حافظه دستگاه dirInternal و به روز رسانی فیلد ImageTarget
3- نمایش همه تصاویر در مولتی پنل
من این کار رو از طریق زیر انجام دادم:
اما مشکل: این کد پرفورمنس پایینی داره و با توجه به زمان دانلود تصاویر کندی زیادی در لود اکتیویتی داره
بنده از نخ هم استفاده کردم و تابع LoadImages رو توسط اونها فراخوانی کردم اما هیچ تفاوتی در سرعت اجرا نکرد
نحوه فراخوانی تابع با نخ:
حالا ممنون خواهم شد که اگر دوستان راهکار دیگه ای برا بهینه کردن کد من یا بالا بردن سرعت لود سراغ دارن با بنده به اشتراک بگذارند.
پیشاپیش از وقتی که میذارید تشکر می کنم.
لینک ارسال
به اشتراک گذاری در سایت های دیگر
1 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.