當前位置:首頁 » 操作系統 » androidpicasso源碼

androidpicasso源碼

發布時間: 2022-11-04 21:39:20

㈠ Android有什麼比較輕量的IM框架嗎

Android中比較輕量的IM框架有Picasso,Butterknife等。Windows 10也有框架的概念。
一、什麼是框架?
框架是網頁製作中的一個概念,可以用SharePoint Designer 2010來做。
框架是頁面製作中的一種技術,它可以把瀏覽器窗口分成幾個獨立的部分,每個部分都包含單獨的頁面。
框架並不是一種頁面元素,准確地說是一種應用技術。
二、如何製作框架頁?
框架頁的從無到有隻能通過模板來完成。
在SharePoint Designer中,選擇【文件】菜單中的【新建】子菜單中的【網頁】命令,在【新建網頁】對話框左邊的列表中單擊【框架網頁】選項,在中間的列表中顯示SharePoint Designer 2010提供的幾個內置模板,在對話框的右半部份會顯示這個模板的說明文字和預覽效果。選定某個模板後,單擊【確定】按鈕,可以建立基於這個模板的框架網頁。

㈡ android picasso怎麼載入bitmap

1.載入載網路或本地圖片並自動緩存處理; 2.鏈式調用; 3.圖形轉換操作,如變換大小,旋轉等,提供了介面來讓用戶可以自定義轉換操作; 4.在Adapter中回收和取消當前的下載功能; 與Universal-ImageLoader庫對比: 1.都有高效的網路圖片下載和緩存性能; 2.Universal-ImageLoader功能多,靈活使用配置; 3.Picasso使用復雜的圖片壓縮轉換來盡可能的減少內存消耗; 4.在Adapter中需要取消已經不在視野范圍的ImageView圖片資源的載入,否則會導致圖片錯位,Picasso已經解決了這個問題; 用法: 1.圖片轉換:轉換圖片以適應布局大小並減少內存佔用 Picasso.with(context).load(url).resize(50, 50) .centerCrop() .into(imageView); 2.Adapter 中的下載:Adapter的重用會被自動檢測到,Picasso會取消上次的載入; 3.空白或者錯誤占點陣圖片設置方法及本地資源文件的載入方法; 4.Picasso採用鏈式調用載入和處理圖片方式; 5.除了載入網路圖片,picasso還支持載入Resources, assets, files, content providers中的本地資源文件;

㈢ Android的類庫Picasso有哪些特性

Picasso是個什麼鬼?有什麼作用?
Picasso 其實是 Android 系統的圖片下載和緩存類庫,是Square開源的一個用於Android系統下載和緩存圖片的項目。下面我們就來講講在Android開發中,Picasso有哪些特性及如何使用。

Picasso的特性
1、處理Adapter中的 ImageView 回收和取消已經回收ImageView的下載進程
部分示例代碼:
@Override public void getView(int position, View convertView, ViewGroup parent) {
SquaredImageView view = (SquaredImageView) convertView;
if (view == null) {
view = new SquaredImageView(context);
}
String url = getItem(position);Picasso.with(context).load(url).into(view);
}
2、使用最少的內存完成復雜的圖片轉換,比如把下載的圖片轉換為圓角。
部分示例代碼:
Picasso.with(context)
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
3、支持本地資源載入
從 Resources, assets, files, content providers 載入圖片都支持
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
Picasso.with(context).load(new File("/images/oprah_bees.gif")).into(imageView2);
4、支持調試
調用函數 Picasso.setDebug(true) 可以在載入的圖片左上角顯示一個三角形 ,不同的顏色代表不同的載入來源,比如:
紅色:代表從網路下載的圖片
黃色:代表從磁碟緩存載入的圖片
綠色:代表從內存中載入的圖片
如要了解更多的Picasso特性,可查閱《Android開發實戰教程》

Picasso的使用
直接說,有點空,且不易明白,舉個例子說明吧:Picasso.with(context).load("http://www.maizie.com/uploads/course/2015/07/android_studio.jpg");

上面就是對Android 系統的圖片下載和緩存類庫Picasso的相關特性及使用的簡要介紹,篇幅有限,可能有些地方講的不是很詳細,歡迎大家繼續分享。

㈣ picasso android怎麼用

圖片為安卓應用添加了必備內容和視覺風格。Picasso允許應用程序載入圖片——往往只需一行代碼!

Picasso.with(context).load("url").into(imageView);

Picasso會自動處理安卓載入圖片時出現的許多常見缺陷:

1.在適配器中處理ImageView循環和下載取消。

2.保證最小內存使用率情況下的復雜圖片轉換。

3.自動內存和磁碟高速緩存。

特性

適配器下載

可以自動檢測適配器復用

@Override public void getView(int position, View convertView, ViewGroup parent) {

SquaredImageView view = (SquaredImageView) convertView;

if (view == null) {

view = new SquaredImageView(context);

}

String url = getItem(position);

Picasso.with(context).load(url).into(view);

}

圖像變換

變換圖像可以更好地適應布局,並且減少內存大小。

Picasso.with(context)

.load(url)

.resize(50, 50)

.centerCrop()

.into(imageView)

可以指定自定義變化以便達到更好效果。

public class CropSquareTransformation implements Transformation {

@Override public Bitmap transform(Bitmap source) {

int size = Math.min(source.getWidth(), source.getHeight());

int x = (source.getWidth() - size) / 2;

int y = (source.getHeight() - size) / 2;

Bitmap result = Bitmap.createBitmap(source, x, y, size, size);

if (result != source) {

source.recycle();

}

return result;

}


@Override public String key() { return "square()"; }

}把該類的實例傳遞給變換方法。


佔位符

Picasso把下載和錯誤佔位符作為可選功能。

Picasso.with(context)

.load(url)

.placeholder(R.drawable.user_placeholder)

.error(R.drawable.user_placeholder_error)

.into(imageView);

在顯示錯誤佔位符前請求會重試三次。

資源載入

資源,資產,文件,內容供應商均可作為圖像源。

Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);

Picasso.with(context).load(new File(...)).into(imageView2);


DEBUG指標

開發時可以啟用綵帶來指示圖像源。在Picasso實例中調用setIndicatorsEnabled(true)。

㈤ 為什麼android用不了picasso

圖片為安卓應用添加了必備內容和視覺風格。Picasso允許應用程序載入圖片——往往只需一行代碼!

Picasso.with(context).load("url").into(imageView);

Picasso會自動處理安卓載入圖片時出現的許多常見缺陷:

1.在適配器中處理ImageView循環和下載取消。

2.保證最小內存使用率情況下的復雜圖片轉換。

3.自動內存和磁碟高速緩存。

特性

適配器下載

可以自動檢測適配器復用

@Override public void getView(int position, View convertView, ViewGroup parent) {

SquaredImageView view = (SquaredImageView) convertView;

if (view == null) {

view = new SquaredImageView(context);

}

String url = getItem(position);

Picasso.with(context).load(url).into(view);

}

圖像變換

變換圖像可以更好地適應布局,並且減少內存大小。

Picasso.with(context)

.load(url)

.resize(50, 50)

.centerCrop()

.into(imageView)

可以指定自定義變化以便達到更好效果。

public class CropSquareTransformation implements Transformation {

@Override public Bitmap transform(Bitmap source) {

int size = Math.min(source.getWidth(), source.getHeight());

int x = (source.getWidth() - size) / 2;

int y = (source.getHeight() - size) / 2;

Bitmap result = Bitmap.createBitmap(source, x, y, size, size);

if (result != source) {

source.recycle();

}

return result;

}


@Override public String key() { return "square()"; }

}把該類的實例傳遞給變換方法。


佔位符

Picasso把下載和錯誤佔位符作為可選功能。

Picasso.with(context)

.load(url)

.placeholder(R.drawable.user_placeholder)

.error(R.drawable.user_placeholder_error)

.into(imageView);

在顯示錯誤佔位符前請求會重試三次。

資源載入

資源,資產,文件,內容供應商均可作為圖像源。

Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);

Picasso.with(context).load(new File(...)).into(imageView2);


DEBUG指標

開發時可以啟用綵帶來指示圖像源。在Picasso實例中調用setIndicatorsEnabled(true)。

㈥ android中設置的picasso為什麼不能顯示

圖片為安卓應用添加了必備內容和視覺風格。Picasso允許應用程序載入圖片——往往只需一行代碼!
Picasso.with(context).load("url").into(imageView);
Picasso會自動處理安卓載入圖片時出現的許多常見缺陷:
1.在適配器中處理ImageView循環和下載取消。
2.保證最小內存使用率情況下的復雜圖片轉換。
3.自動內存和磁碟高速緩存。
特性
適配器下載
可以自動檢測適配器復用
@Override public void getView(int position, View convertView, ViewGroup parent) {

SquaredImageView view = (SquaredImageView) convertView;

if (view == null) {
view = new SquaredImageView(context);
}

String url = getItem(position);
Picasso.with(context).load(url).into(view);

}
圖像變換
變換圖像可以更好地適應布局,並且減少內存大小。
Picasso.with(context)
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
可以指定自定義變化以便達到更好效果。
public class CropSquareTransformation implements Transformation {

@Override public Bitmap transform(Bitmap source) {

int size = Math.min(source.getWidth(), source.getHeight());

int x = (source.getWidth() - size) / 2;

int y = (source.getHeight() - size) / 2;

Bitmap result = Bitmap.createBitmap(source, x, y, size, size);

if (result != source) {

source.recycle();

}

return result;

}


@Override public String key() { return "square()"; }

}把該類的實例傳遞給變換方法。

佔位符
Picasso把下載和錯誤佔位符作為可選功能。
Picasso.with(context)
.load(url)
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
.into(imageView);
在顯示錯誤佔位符前請求會重試三次。


資源載入
資源,資產,文件,內容供應商均可作為圖像源。
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);

Picasso.with(context).load(new File(...)).into(imageView2);

DEBUG指標
開發時可以啟用綵帶來指示圖像源。在Picasso實例中調用setIndicatorsEnabled(true)。

㈦ 如何打開openhab android工程

一、代碼庫
1、from 代碼家

整理比較好的源碼連接
***************************************************************************************************************************************************************************
http://blog.zhan-i.com/?page_id=60

感謝 「代碼家」整理

一、兼容類庫
ActionBarSherlock : Action Bar是Android 3.0後才開始支持的,ActionBarSherlock是讓Action Bar功能支持2.X後的所有平台,而且他會自動的判斷是調用原生Action Bar還是使用擴展ActionBar。在我的小熊詞典里有用到這個庫,而且很多非常知名的App也在使用這個庫。GitHub Official ActionBar科普
Android-ViewPagerIndicator : 這是與ViewPager兼容的一個分頁指示器庫。分頁指示器(Friends 和 Suggested就是分頁,而下面藍色的小條就是指示器,ViewPagerIndicator支持多種樣式的指示器。):GitHub
NineOldAndroids : NineOldAndroids 將 Honeycomb (Android 3.0) 的動畫 API 擴展到了Android 1.0以上。這個庫的作者即是ActionBarSherlock的作者,也是Android-ViewPagerIndicator的作者,Jake Wharton, 非常厲害的一個人,Github關注量超過1.6K,如果你也做Android開發或者即將開始學習Android開發,一定要去Follow他,而且留意一下他每次的star和follow信息,經常會有很驚奇的發現。
HoloEverywhere:在Android 4.0時,Google引入了新的主題風格—Holo,多數廠商都想統一界面設計UI,因此更加具有兼容性的Holo主題庫HoloEveryWhere便成為很多開發者的選擇。在Android的官方Blog中也對HoloEveryWhere這個庫有所推薦,點此查看官方博客對HoloEveryWhere的介紹。HoloEveryWhere的Github。
Android-Datepicker: 兼容Android 4.0的datepicker至Android 2.2。 GitHub
二、擴展功能庫
SlidingMenu : SlidingMenu 能非常容易的讓開發者實現程序的抽屜效果,所謂的抽屜效果如下圖所示,通常被用作呼出菜單。而且SlidingMenu能很方便的與ActionBarSherlock融合,在官方GitHub上有關於如何融合的說明。 GitHub

AppMsg : 優雅的彈出類似Toast的消息提示,支持3種狀態Alert,Confirm以及Info。GitHub
Drag-Sort-ListView : 很多人都用過在一個ListView中通過拖拽對已有的數據進行排序操作。Drag-Sort-Listview就是實現這一功能的開源庫。GitHub
Android-Flip : 輕松實現類似FlipBoard的翻頁功能。 GitHub
Android-PullToRefresh : Android下拉刷新組件。 GitHub 此外,該作者還有另外一個實用度和關注量極高的項目–另一種Android ActionBar的實現:GitHub

picasso: 程序中經常面臨載入網路圖片的情況,成熟做法:非同步下載->緩存->顯示,Picasso一行代碼就可這三步輕松完成。GitHub GitHubPage ,GitHub上圖片非同步載入緩存類庫很多,你也可嘗試使用Android-Universal-Image-Loader 或者 LazyList 後面將介紹到的afinal(國人項目)也具有此功能。
三、工具類庫:
首先,就我個人開發經驗,總結一下平常用到的一些最常用的功能:
下載,比如圖片,文件。
將下載的文件進行解壓
請求伺服器,比如說上傳登陸信息,更新某些數據,又或者上傳頭像文件。
從文件系統中選擇要操作的文件。
有時候也需要爬取某些網頁數據。
存儲一些配置信息
再有一個特殊需求就是關乎Android程序UI設計,圖標是個很麻煩的問題。每次都難以找到合適的Android 設計UI。
隨後,我將很有針對性的推薦一些功能庫,來簡化上面的問題。
afinal: afinal是一個很方便的工具庫。GitHub 作者博客(註:國人項目喲)
一行代碼就可以對資料庫進行增刪改查。
完全註解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
輕松實現Android上傳文件,POST數據,下載文件(支持斷點續傳,隨時停止下載任務 或者 開始任務)。
一行代碼載入網路圖片。
android-async-http: Android下的非同步HTTP庫。GitHub 文檔 PS:作者的GitHub值得關注。
發送非同步http請求,並且可在回調函數中處理返回響應Response。
http請求在thread線程,不會阻塞UI線程。
請求使用線程池(ThreadPool)實現,優化了並發的資源使用。
支持Multipart 文件上傳。
如果Request請求失敗,會自動請求。
支持Json解碼。
支持存儲Cookies到Preference中。
支持gzip處理Request以及Response。
整個庫只有19KB。
async-http-client: Android下的非同步 Http 和 WebSocket 庫。 GitHub
支持代理設置
支持分片兒處理請求返回內容
支持WebSocket
zt-zip: 壓縮和解壓庫。 GitHub
壓縮和解壓
單獨操作文件壓縮和解壓。
替換zip文件中的某個文件
aFileChooser:文件選擇器,用於選擇需要操作的文件 GitHub
jsoup: HTML解析,並且能很好理解DOM,CSS,以及JQuery。GitHub 官方 PS:這是java庫。做網頁爬蟲(Crawler,Robot)必備。
toml:這是個跨語言的配置信息存取方案。GitHub
Androiton-Action-Bar-Icons:一個針對Android 優化過的ICON圖標集。 GitHub Demo
四、圖標資源:
http://iconsparadise.com/ 質量一般,但也是一種選擇
http://iconbench.com/ 在線產生一些小圖標
http://www.androidicons.com/ 圖標質量很不錯,但是要付費($25刀),如果有想合買的可以聯系我~
https://code.google.com/p/android-ui-utils/ 用來在線生成符合Android Design風格的設計圖標。 項目地址
五、一些手冊
Android圖形界面設計手冊,可以用來快速查看圖標的大小、ActionBar的Height等瑣碎的Android Design要求。GitHub
Android 官方UI設計手冊:下載
七、一些視頻
Android Studio 的新特性官方講解視頻,我在官方技術博客上下載下來,上傳到網盤,希望對大家有幫助。下載地址
八、高價值鏈接
Android官方博客 提供一些跟Android相關的即時咨詢。(需要梯子)
Android官方技術博客 主要提供一些新工具(如Android Studio),新技術(如每次更新帶來新特性)的演示和講解。(需要梯子)
AndroidViews Android View組件收集站點。

㈧ 想問一下在Android studio裡面怎麼實現顯示網路圖片,就是輸入一個網址,顯示一張圖片

使用第三方圖片載入框架如picasso,使用很簡單,以下幾步即可完成你的需求。

  1. 在app的build.gradle文件中添加依賴

    implementation 'com.squareup.picasso:picasso:2.71828'

  2. 傳入網路圖片地址,以及要在哪個ImageView上顯示

    Picasso.get().load(imageurl).into(mImageView);

很簡單,通過以上步驟,就可以完成在Android studio裡面怎麼實現顯示網路圖片,就是輸入一個網址,顯示一張圖片。

㈨ 怎麼避免picasso造成的內存泄漏

The Artist
LeakCanary 通知我存在內存泄漏:

* GC ROOT thread com.squareup.picasso.Dispatcher.DispatcherThread.<Java Local>
* references android.os.Message.obj
* references com.example.MyActivity$MyDialogClickListener.this$0
* leaks com.example.MyActivity.MainActivity instance

簡單來說就是:一個 Picasso 線程正在站內持有一個 Message 實例的本地變數,而 Message 持有 DialogInterface.OnClickListener 的引用,而 DialogInterface.OnClickListener 又持有一個被銷毀 Activity 的引用。
本地變數通常由於他們僅存在於棧內存活時間較短,當線程調用某個方法,系統就會為其分配棧幀。當方法返回,棧幀也會隨之被銷毀,棧內所有本地變數都會被回收。如果本地變數導致了內存泄漏,一般意味著線程要麼死循環,要麼阻塞了,而且線程在這種狀態時持有著 Message 實例的引用。
於是 Dimitris 和我都去 Picasso 源碼中一探究竟:
Dispatcher.DispatcherThread 是一個簡單的 HandlerThread:
static class DispatcherThread extends HandlerThread {
DispatcherThread() {
super(Utils.THREAD_PREFIX + DISPATCHER_THREAD_NAME, THREAD_PRIORITY_BACKGROUND);
}
}12345

這個線程用標準的方式通過 Handler 接收 Message:
private static class DispatcherHandler extends Handler {
private final Dispatcher dispatcher;

public DispatcherHandler(Looper looper, Dispatcher dispatcher) {
super(looper);
this.dispatcher = dispatcher;
}

@Override public void handleMessage(final Message msg) {
switch (msg.what) {
case REQUEST_SUBMIT: {
Action action = (Action) msg.obj;
dispatcher.performSubmit(action);
break;
}
// ... handles other types of messages
}
}
}12345678910111213141516171819

顯然 Dispatcher.DispatcherHandler.handleMessage() 裡面沒有明顯會讓本地變數持有 Message 引用的 Bug。
Queue Tips
Let』s look at how HandlerThread works:
後來越來越多內存泄漏的通知出現了,這些通知不僅僅來自 Picasso,各種各樣線程中的本地變數都存在內存泄漏,而且這些內存泄漏往往和 Dialog 的 OnClickListener 有關。發生內存泄漏的線程有一個共同的特性:他們都是工作者線程,而且通過某種阻塞隊列接收各自的工作。
for (;;) {
Message msg = queue.next(); // might block
if (msg == null) {
return;
}
msg.target.dispatchMessage(msg);
msg.recycleUnchecked();
}12345678

通過源碼可以發現,肯定存在本地變數持有 Message 的引用,然而它的生命周期本應很短,而且在循環結束時被清除。
我們嘗試通過利用阻塞隊列實現一個簡單的工作者線程來重現這個 Bug,它只發送一個 Message:
static class MyMessage {
final String message;
MyMessage(String message) {
this.message = message;
}
}

static void startThread() {
final BlockingQueue<MyMessage> queue = new LinkedBlockingQueue<>();
MyMessage message = new MyMessage("Hello Leaking World");
queue.offer(message);
new Thread() {
@Override public void run() {
try {
loop(queue);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}.start();
}

static void loop(BlockingQueue<MyMessage> queue) throws InterruptedException {
while (true) {
MyMessage message = queue.take();
System.out.println("Received: " + message);
}
}


一旦 Message 被列印到 Log 中,MyMessage 實例應該被回收,然而還是發生了內存泄漏:

* GC ROOT thread com.example.MyActivity$2.<Java Local> (named 'Thread-110')
* leaks com.example.MyActivity$MyMessage instance

我們發送新的 Message 到阻塞隊列的瞬間,前一個 Message 就被回收,而新的 Message 就泄漏了。
在 VM 中,每一個棧幀都是本地變數的集合,而垃圾回收器是保守的:只要存在一個存活的引用,就不會回收它。
在循環結束後,本地變數不再可訪問,然而本地變數仍持有對 Message 的引用,interpreter/JIT 理論上應該在本地變數不可訪問時將其引用置為 null,然而它們並沒有這樣做,引用仍然存活,而且不會被置為 null,使得它不會被回收。
為了驗證我們的結論,我們手動將引用設為 null,並列印它,使得 null 不會是最優化辦法:
static void loop(BlockingQueue<MyMessage> queue) throws InterruptedException {
while (true) {
MyMessage message = queue.take();
System.out.println("Received: " + message);
message = null;
System.out.println("Now null: " + message);
}
}12345678

在測試上面的代碼時,我們發現 MyMessage 實例在 Message 被設為 null 時立刻被回收。也就是說我們的結論似乎是正確的。
因為這樣的內存泄漏會在各種各樣的線程和阻塞隊列的實現中發生,我們現在確定這是一個存在於 VM 中的 Bug。基於這個結論,我們只能在 Dalvik VM 中復現這個 Bug,在 ART VM 或 JVM 中則無法復現。
Message in a (recycled) bottle
我們發現了一個會導致內存泄漏的 Bug,但這會導致嚴重的內存泄漏嗎?不妨看看我們最初的泄漏信息:

* GC ROOT thread com.squareup.picasso.Dispatcher.DispatcherThread.<Java Local>
* references android.os.Message.obj
* references com.example.MyActivity$MyDialogClickListener.this$0
* leaks com.example.MyActivity.MainActivity instance

我們發送給 Picasso Dispatcher 線程的 Message,我們從未將 Message.obj 設為 DialogInterface.OnClickListener,那它是怎麼結束的?
此外,當 Message 被處理,它應該立刻被回收,而且 Message.obj 應該被設為 null。只有那樣 HandlerThread 才會等待下一個 Message,並暫時泄漏前一個 Message:
for (;;) {
Message msg = queue.next(); // might block
if (msg == null) {
return;
}
msg.target.dispatchMessage(msg);
msg.recycleUnchecked();
}12345678

因而我們知道泄漏的 Message 會被回收,因此不會持有之前的內容。

㈩ android picasso怎麼使用

1.載入載網路或本地圖片並自動緩存處理;
2.鏈式調用;
3.圖形轉換操作,如變換大小,旋轉等,提供了介面來讓用戶可以自定義轉換操作;
4.在Adapter中回收和取消當前的下載功能;

與Universal-ImageLoader庫對比:
1.都有高效的網路圖片下載和緩存性能;
2.Universal-ImageLoader功能多,靈活使用配置;
3.Picasso使用復雜的圖片壓縮轉換來盡可能的減少內存消耗;
4.在Adapter中需要取消已經不在視野范圍的ImageView圖片資源的載入,否則會導致圖片錯位,Picasso已經解決了這個問題;

用法:
1.圖片轉換:轉換圖片以適應布局大小並減少內存佔用
Picasso.with(context).load(url).resize(50, 50) .centerCrop() .into(imageView);
2.Adapter 中的下載:Adapter的重用會被自動檢測到,Picasso會取消上次的載入;
3.空白或者錯誤占點陣圖片設置方法及本地資源文件的載入方法;
4.Picasso採用鏈式調用載入和處理圖片方式;
5.除了載入網路圖片,picasso還支持載入Resources, assets, files, content providers中的本地資源文件;

熱點內容
蜜蜂編程官網 發布:2025-05-14 19:59:28 瀏覽:57
優酷怎麼給視頻加密 發布:2025-05-14 19:31:34 瀏覽:635
夢三國2副本腳本 發布:2025-05-14 19:29:58 瀏覽:860
phpxmlhttp 發布:2025-05-14 19:29:58 瀏覽:434
Pua腳本 發布:2025-05-14 19:24:56 瀏覽:449
蘋果像素低為什麼比安卓好 發布:2025-05-14 19:13:23 瀏覽:461
安卓機微信怎麼設置紅包提醒 發布:2025-05-14 19:00:15 瀏覽:272
androidsystem許可權設置 發布:2025-05-14 18:56:02 瀏覽:971
mq腳本 發布:2025-05-14 18:45:37 瀏覽:25
仙境傳說ro解壓失敗 發布:2025-05-14 18:45:01 瀏覽:868