當前位置:首頁 » 安卓系統 » android圖片的非同步載入圖片

android圖片的非同步載入圖片

發布時間: 2022-09-11 01:48:22

① android listview中非同步載入圖片,為什麼圖片變小

如果你要是使用 wrap_content的話,那麼圖片大小肯定是不一定的,如果你要是想設置圖片大小的話 ,你可以通過

<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="fitXY" />
來設置!

如果你要是想通過代碼設置的話:

ImageView iv = (ImageView) findViewById(R.id.iv);
iv.setLayoutParams(new LayoutParams(300, 300));
iv.setScaleType(ScaleType.FIT_XY);

② android中非同步載入圖片怎麼結束

如果你要是使用
wrap_content的話,那麼圖片大小肯定是不一定的,如果你要是想設置圖片大小的話
,你可以通過
<imageview
android:layout_width="50dp"
android:layout_height="50dp"
android:scaletype="fitxy"
/>
來設置!
如果你要是想通過代碼設置的話:
imageview
iv
=
(imageview)
findviewbyid(r.id.iv);
iv.setlayoutparams(new
layoutparams(300,
300));
iv.setscaletype(scaletype.fit_xy);

③ android非同步網路載入怎麼實現

以自定義ListView,非同步載入網路圖片示例,總結了Android開發過程中,常用的三種非同步載入的技術方案。

相關資源:

java"><manifestxmlns:android="http://schemas.android.com/apk/res/android"
02package="com.doodle.asycntasksample"
03android:versionCode="1"
04android:versionName="1.0">
05
06<uses-sdk
07android:minSdkVersion="8"
08android:targetSdkVersion="15"/>
09
10<uses-permissionandroid:name="android.permission.INTERNET"/>
11
12<application
13android:icon="@drawable/ic_launcher"
14android:label="@string/app_name"
15android:theme="@style/AppTheme">
16<activity
17android:name="com.doodle.asynctasksample.ThreadHandlerPostActivity">
18</activity>
19<activityandroid:name="com.doodle.asynctasksample.AsyncTastActivity">
20</activity>
21<activityandroid:name="com.doodle.asynctasksample.ThreadHandlerActivity">
22</activity>
23<activity
24android:name="com.doodle.asynctasksample.BootActivity"
25android:label="@string/title_activity_boot">
26<intent-filter>
27<actionandroid:name="android.intent.action.MAIN"/>
28<categoryandroid:name="android.intent.category.LAUNCHER"/>
29</intent-filter>
30</activity>
31</application>
32
33</manifest>

list_item.xml

01<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
02xmlns:tools="http://schemas.android.com/tools"
03android:layout_width="match_parent"
04android:layout_height="match_parent">
05
06<LinearLayout
07android:layout_width="match_parent"
08android:layout_height="150dp"
09android:layout_alignParentLeft="true"
10android:layout_alignParentRight="true"
11android:layout_alignParentTop="true">
12
13<ImageView
14android:id="@+id/imageView"
15android:layout_width="match_parent"
16android:layout_height="match_parent"
17android:src="<ahref="http://my.oschina.net/asia"target="_blank"rel="nofollow">@android</a>:drawable/alert_dark_frame"/>
18
19</LinearLayout>
20
21</RelativeLayout>

ImageAdapter.java

01/**
02*.
03*
04*.Inthis
05*
06*ListView.
07*
08*@authorJie.GengAug01,2012.
09*
10*/
{
12privateContextcontext;
13privateList<HashMap<String,Object>>listItems;
;
15
16publicImageViewimageView;
17
18publicImageAdapter(Contextcontext,List<HashMap<String,Object>>listItems){
19super();
20this.context=context;
21this.listContainer=LayoutInflater.from(context);
22this.listItems=listItems;
23}
24
25@Override
26publicintgetCount(){
27returnlistItems.size();
28}
29
30@Override
31publicObjectgetItem(intposition){
32returnnull;
33}
34
35@Override
36publiclonggetItemId(intposition){
37return0;
38}
39
40@Override
41publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
42if(convertView==null){
43convertView=listContainer.inflate(R.layout.list_item,null);
44imageView=(ImageView)convertView.findViewById(R.id.imageView);
45convertView.setTag(imageView);
46}else{
47imageView=(ImageView)convertView.getTag();
48}
49imageView.setImageDrawable((Drawable)listItems.get(position).get("ItemImage"));
50returnconvertView;
51}

Handler簡介 Handler為Android提供了一種非同步消息處理機制,它包含兩個隊列,一個是線程列隊,另一個是消息列隊。使用post方法將線 程對象添加到線程隊列中,使用sendMessage(Message message)將消息放入消息隊列中。當向消息隊列中發送消息後就立 即返回,而從消息隊列中讀取消息對象時會阻塞,繼而回調Handler中public void handleMessage(Message msg)方法。因此 在創建Handler時應該使用匿名內部類重寫該方法。如果想要這個流程一直執行的話,可以再run方法內部執行postDelay或者 post方法,再將該線程對象添加到消息隊列中重復執行。想要停止線程,調用Handler對象的removeCallbacks(Runnable r)從 線程隊列中移除線程對象,使線程停止執行。

④ android ListView 非同步載入 網路圖片 我想用Bitmap做 代碼如下:希望大家幫忙找找問題原因 謝謝!

通過消息發送的對象大小不能超過100K,你看看bitmap對象是不是超出了。還是發Uri,再載入吧。

⑤ android中非同步載入圖片怎麼結束

你這一看就是AsyncTask線程你可以這樣:
private void stopThumbTask() {
if (mScanVideoThumbTask != null) {
mScanVideoThumbTask.cancel(true);
Log.d("ThumbScanTask", "========== stopThumbTask() >>>>>");
}
mPosThumbStart = 0;
}

private void startThumbTask() {
if (mScanVideoThumbTask != null)
mScanVideoThumbTask.cancel(true);
mScanVideoThumbTask = new ScanVideoThumbTask();
mScanVideoThumbTask.execute(mPosThumbStart);
}
你退出時掉這個stop即可。

⑥ android 內存溢出,listview非同步載入網路圖片使用了SoftReference,還是內存溢出,急用

這個設計到listview優化問題。 首先,listview必須嚴格按照convertView及viewHolder格式書寫,這樣可以基本保證數據最優。 其次,如果自定義Item中有涉及到圖片等等的,一定要做圖片優化。bitmap釋放可以不做。 第三,盡量避免在BaseAdapter中使用static 來定義全局靜態變數,這個影響很大,static是Java中的一個關鍵字,當用它來修飾成員變數時,那麼該變數就屬於該類,而不是該類的實例。所以用static修飾的變數,它的生命周期是很長的,如果用它來引用一些資源耗費過多的實例(比如Context的情況最多),這時就要盡量避免使用了.. 第四,盡量避免在ListView適配器中使用線程,因為線程產生內存泄露的主要原因在於線程生命周期的不可控制。 最後,如果上述你都做到的話,你的listview已經優化的很好了。針對你的問題,你的listview控制項高度是否設置為fill_parent,因為warp會導致listview滑動中無限計算自身高度。你的文本載入是否做過線程以及多次重復載入的問題處理。你的item中變數是否多次無限生成新的內存對象等等。

⑦ android listview中非同步載入圖片,為什麼圖片變小

如果你要是使用
wrap_content的話,那麼圖片大小肯定是不一定的,如果你要是想設置圖片大小的話
,你可以通過
<imageview
android:layout_width="50dp"
android:layout_height="50dp"
android:scaletype="fitxy"
/>
來設置!
如果你要是想通過代碼設置的話:
imageview
iv
=
(imageview)
findviewbyid(r.id.iv);
iv.setlayoutparams(new
layoutparams(300,
300));
iv.setscaletype(scaletype.fit_xy);

⑧ 安卓解析出一個json獲得url後怎麼非同步載入圖片到listview上

最好使用Volley
Google提供的三方包,自帶線程下載,二級緩存。。一級緩存自己寫。。。效率高,解決了圖片錯位問題。

熱點內容
電腦中dns伺服器 發布:2025-01-09 23:30:12 瀏覽:700
解放資料庫 發布:2025-01-09 23:28:52 瀏覽:366
融資租賃演算法 發布:2025-01-09 23:28:47 瀏覽:826
長安t最新配置怎麼開 發布:2025-01-09 23:28:45 瀏覽:146
群暉腳本圖片 發布:2025-01-09 23:27:56 瀏覽:311
android開發發展 發布:2025-01-09 23:15:36 瀏覽:283
sw裝配體怎麼選擇零件配置 發布:2025-01-09 23:13:17 瀏覽:209
如何進入華為的伺服器 發布:2025-01-09 23:11:37 瀏覽:854
安卓日歷每月提醒怎麼設置 發布:2025-01-09 23:07:53 瀏覽:387
安卓手機qq怎麼備份 發布:2025-01-09 23:07:12 瀏覽:958