tag Android

標籤
貢獻273
466
06:37 AM · Oct 27 ,2025

@Android / 博客 RSS 訂閱

認真的紫菜 - Android經典面試題之Glide的緩存大揭秘

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Glide緩存 關聯類:Engine、LruResourceCache、LruCache、ActiveResources ActiveResources:弱引用緩存池 @VisibleForTesting final MapKey, ResourceWeakReference a

glide , 圖片 , Android , JAVA , 程序員

收藏 評論

認真的紫菜 - Android面試題經典之Glide取消加載以及線程池優化

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Glide通過生命週期取消加載 生命週期回調過程 onStop ---RequestManager.onStop --RequestTracker.pauseRequest -- SingleRequest.pause -- SingleReques

glide , 圖片 , Android , JAVA , 程序員

收藏 評論

認真的紫菜 - Kotlin小技巧之用Transformations.map方法轉換LiveData

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 在Kotlin中,transformations.map是用於將一個 LiveData 的數據進行轉換的拓展函數,它屬於 Android Architecture Components 中的 LiveData 轉換部分。這個函數允許你在 LiveData 的數據發生變化時,自動地

Kotlin , 面試 , mvvm , Android , 程序員

收藏 評論

輕口味 - Android C++系列:Linux網絡(三)協議格式

1. 數據包封裝 傳輸層及其以下的機制由內核提供,應用層由用户進程提供(後面將介紹如何使用 socket API編寫應用程序),應用程序對通訊數據的含義進行解釋,而傳輸層及其以下 處理通訊的細節,將數據從一台計算機通過一定的路徑發送到另一台計算機。應用層 數據通過協議棧發到網絡上時,每層協議都要加上一個數據首部(header),稱為封裝 (Encapsulation),如下圖所示 不同的協議層對

tcp , c++ , Linux , Android , udp

收藏 評論

輕口味 - Android C++系列:Linux網絡(四)TCP詳解

1. tcp狀態轉換圖 這個圖N多人都知道,它排除和定位網絡或系統故障時大有幫助,但是怎樣牢牢地將這 張圖刻在腦中呢?那麼你就一定要對這張圖的每一個狀態,及轉換的過程有深刻 的認識, 不能只停留在一知半解之中。下面對這張圖的11種狀態詳細解析一下,以便加強記憶!不過在這之前,先回顧一下TCP建立連接的三次握手過程,以及關閉連接的四次握手過程。 1.1建立連接協議(三次握手) 客户端發送

tcp , c++ , Linux , Android

收藏 評論

輕口味 - Android C++系列:Linux網絡(五)常見術語

1. 什麼是路由(route)? 網絡信息從信源到信宿的路徑。路由是指路由器從一個接口上收到數據包,根據數據包的目的地址進行定向並轉發到另一個接口的過程。 路由通常與橋接來對比,在粗心的人看來,它們似乎完成的是同樣的事。它們的主要區別在於橋接發生在OSI參考模型的第二層(數據鏈路層),而路由發生在第三層(網絡層)。這一區別使二者在傳遞信息的過程中使用不同的信息,從而以不同的方式來完成其任務。

tcp , c++ , Linux , Android , 網絡

收藏 評論

認真的紫菜 - Android Kotlin中使用 LiveData、ViewModel快速實現MVVM模式

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 使用 Kotlin 實現 MVVM(Model-View-ViewModel)模式是開發 Android 應用程序的一種常見架構方式。MVVM 模式將應用程序的 UI 邏輯和業務邏輯分離,使用 LiveData、ViewModel 和 DataBinding 可以使代碼更加模塊化

Kotlin , 面試 , mvvm , Android , 程序員

收藏 評論

輕口味 - Android C++系列:Linux信號(二)

PCB的信號集 如果在進程解除對某信號的阻塞之前這種信號產生過多次,將如何處理?POSIX.1允 許系統遞送該信號一次或多次。Linux是這樣實現的:常規信號在遞達之前產生多次只 計一次,而實時信號在遞達之前產生多次可以依次放在一個隊列裏。本文不討論實時信 號。每個信號只有一個bit的未決標誌,非0即1,不記錄該信號產生了多少 次,阻塞標誌也是這樣表示的。因此,未決和阻塞標誌可以用相同的數據類型s

c++11 , Linux , Android

收藏 評論

得物技術 - 得物App白屏優化系列|歸因篇

一、前言 本系列前面兩篇文章已經分別在圖片庫和網絡庫的角度介紹了諸多白屏問題的定位和解決方案,但都是相對獨立的問題,並且像OSCP,CDN節點異常之類的第三方問題無法徹底根治,因此為了長治白屏併發掘更多問題,就需要一套相對完善的白屏檢測+問題歸因體系。 本文將介紹從用户視角出發的白屏檢測方案以及線上白屏問題的大致歸因思路。 二、白屏歸因平台概覽 三、客户端 檢測思路 直接將白屏檢測寫到圖片庫裏似

技術分享 , Android , 優化

收藏 評論

認真的紫菜 - 一個Android App最少有幾個線程?實現多線程的方式有哪些?

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 多線程編程是Android應用開發中非常重要的一個環節,可以有效地提升應用的性能和用户體驗。下面是對Android中多線程相關內容的詳細介紹,包括app最少有幾個線程。 1. 基本概念 主線程(UI線程): Android應用啓動時,操作系統會啓動一個主線程,主線程負責更新U

Kotlin , 面試 , Android , 多線程 , JAVA

收藏 評論

認真的紫菜 - Kotlin協程的取消機制:深入理解和優雅實現

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Kotlin協程提供了一種高效的方式來處理併發和異步任務。在協程的生命週期管理中,取消協程是一項重要的操作。本文將深入探討Kotlin協程的取消機制,介紹除了直接使用Job的cancel方法之外的其他方式,並提供優雅的實現策略。 1. 協程取消的基本概念 在Kotlin協程中,取

Kotlin , 面試 , 協程 , Android , JAVA

收藏 評論

馬師傅777 - Android文本處理

1. 解決什麼問題 在學習Android源碼過程中,因為不熟悉,很多時候需要“大力出奇跡”,比如需要查找某個文件,但是不知道在哪個倉庫,只能在安卓根目錄下面開始查找;想查找這個方法的實現在哪個源文件中,這些操作都非常地耗時,本文解決這個問題。 2. 查找文件 思路:緩存思路,將所有文件查找一遍,記錄到文件,以後查找文件就變成查找文本。 find . -type f ./android_all_f

code , sourcetree , Android , blueprint

收藏 評論

認真的紫菜 - Android經典面試題之組件化原理、優缺點、實現方法?

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 組件化的原理 組件化是一種軟件架構設計方法,它將複雜的應用程序分解為更小、更易於管理的模塊或組件。在Android開發中,組件化允許開發者將應用分割成獨立的、可複用的模塊,每個模塊封裝特定的功能。 組件化的優點 提高開發效率:團隊成員可以並行開發不同的組件,減少等待時間。

Kotlin , 面試 , 面試問題 , Android , JAVA

收藏 評論

藍易雲 - Nacos改為MySQL數據源報錯:No DataSource set

Nacos 更改數據源為 MySQL 時解決 "No DataSource set" 錯誤的指南 在使用 Nacos 作為配置中心時,通常會希望將其默認嵌入式數據源更改為MySQL數據庫。然而,在嘗試進行這種配置更改的過程中,許多開發者可能會遇到 "No DataSource set" 這樣的錯誤。這通常是由於配置錯誤或數據源初始化不完整導致的。以下是詳細的步驟,幫助您解決此問題,確保 Nacos

Kotlin , Android , android-studio , JAVA , ios

收藏 評論

藍易雲 - Ubuntu中設置代理的方式

Ubuntu 設置代理的三種主要方式 在 Ubuntu 系統中,設置代理可以通過以下三種主要方式進行:使用環境變量、修改APT配置以及通過系統設置。本文將為您詳細介紹這三種方法,幫助您在不同需求場景下配置合適的代理方式。 1. 使用環境變量設置代理 這種方法適用於臨時代理設置,適合對某些特定任務或者會話使用代理。使用這種方法設置的代理在關閉終端或重啓系統後會失效。具體步驟如下: 在終端中輸入以下命

Kotlin , Android , android-studio , JAVA , ios

收藏 評論

藍易雲 - Centos7安裝chrome+chromedriver以便實現selenium自動化詳細教程

在CentOS 7上安裝Chrome、Chromedriver和Selenium的步驟詳解 在CentOS 7系統上配置Selenium進行自動化測試需要安裝Google Chrome瀏覽器、Chromedriver以及Selenium庫。這個過程涉及到多個步驟,每一步都需要謹慎操作,以確保系統和工具能夠順利協作。以下是分步驟的詳細講解,包括每個命令的解釋和作用。 步驟 1:安裝Google Ch

Kotlin , Android , android-studio , JAVA , ios

收藏 評論

藍易雲 - CompletableFuture總結和實踐

CompletableFuture詳解與實踐 🌟 CompletableFuture是Java 8中引入的一種全新的異步編程工具,它是對Future的增強,提供了更加強大的異步處理能力。本文將對CompletableFuture進行深入解析,幫助您更好地理解和應用它。 1. 為什麼選擇CompletableFuture?🤔 在多線程編程中,我們經常需要等待某個任務完成後再執行下一步操作。傳統的

Kotlin , Android , android-studio , JAVA , ios

收藏 評論

酷鳥雲 - 谷歌開發者賬號,為什麼新號老是因為高風險被封?

在Google play上架應用,有關“新號不行” “新號90%以上都會高風險”等言論,並非無中生有,也非誇大其詞,都是開發者們實打實的血淚經歷。 今天跟大家簡單聊一下為什麼新號容易提審就高風險封號? 很簡單,賬號註冊資料“不乾淨”。 使用新號提審的時候容易判為高風險直接封號,這是因為還沒上架過應用的新號,提包後會觸發谷歌對賬號的審核。 如果你賬號的註冊資料與曾經違規過的賬號的資料

chrome , google-play , google , Android , 開發者

收藏 評論

Coolmuster - 無需藍牙:探索iPhone到Android的照片傳輸技巧

您是否正在從iPhone切換到Android設備,或者您同時擁有這兩種設備並希望保持照片同步?在這些設備之間傳輸照片可能很棘手,尤其是通過藍牙。不幸的是,由於Apple和Android之間的藍牙協議存在差異,無法從iPhone直接通過藍牙傳輸到Android。 但是,您可以使用其他方法。在本文中,我們將探討將照片從iPhone無縫傳輸到Android手機的替代方法。 第1部分. 如何將圖片從iP

Android , iphone

收藏 評論

iReaShare - 如何將數據從舊iPhone傳輸到新iPhone 16?這五個方法你必須知道!

前不久,蘋果發佈了備受期待的iPhone 16系列,新機型搭載了更強大的芯片、更流暢的操作體驗,還有備受熱議的全新攝像系統。無論你是衝着A18仿生芯片,還是更豐富的動態島功能,相信很多果粉早已躍躍欲試。然而,手裏的舊iPhone怎麼辦?數據如何順利過渡?本文將帶你瞭解五種實用的傳輸方式,讓你毫無後顧之憂地切換到新設備,盡享iPhone 16帶來的全新體驗。 方法一:使用iReaShare Phon

數據遷移 , Android , iphone

收藏 評論

iReaShare - 如何將舊安卓手機的數據快速遷移到iPhone 16?五種方法推薦

iPhone 16發佈啦!這次新機型不僅搭載了更強大的A18仿生芯片,還帶來了許多新功能。不少安卓用户也開始躍躍欲試,準備切換到iPhone 16。但數據遷移問題成為很多人關心的重點。今天,我就來分享五種從安卓手機遷移數據到iPhone 16的方法,讓你無憂無慮地完成換機過程。 遷移數據前的準備工作:先做好這幾點再動手! 在準備將數據從安卓手機遷移到新iPhone 16之前,以下幾點是確保整個過程

數據遷移 , Android , iphone

收藏 評論

iReaShare - 如何快速將視頻從 iPhone 發送到 Android?

隨着越來越多的人選擇雙手機,管理它們之間的數據傳輸變得至關重要。從舊款 iPhone(如 iPhone 15)換到新款 Android 手機(如三星 Galaxy S24)需要克服不同操作系統的挑戰。 但不用擔心!本完整教程概述瞭如何輕鬆高效地將視頻從 iPhone 發送到 Android 的7 種方法。請繼續關注分步解決方案,以無縫實現您的目標。 方法 1:如何通過文件資源管理器將視頻從 iP

數據遷移 , Android , iphone

收藏 評論

藍易雲 - 配置Sublime Text4為C++編輯器的方法

在Sublime Text 4中配置C++編輯環境,可以極大地提升開發效率。以下是詳細的配置步驟,確保您能夠順利編寫、編譯和運行C++代碼。🔧✨ 工作流程概覽 🗂️ graph TD A[安裝Sublime Text 4] -- B[安裝Package Control] B -- C[安裝C++ Build System插件] C -- D[配置編譯器路徑]

Kotlin , Android , android-studio , JAVA , ios

收藏 評論

用户bPdeG32 - WebApp開發中的身份驗證:如何確保安全性與用户體驗的平衡?

在Web應用程序(WebApp)開發中,身份驗證(Authentication)是一個至關重要的環節,它決定了用户如何登錄、如何識別以及如何保護用户數據。然而,隨着安全威脅的不斷演化,開發者面臨着一個挑戰:如何在確保安全性的同時,提供順暢的用户體驗? 本文將專注於WebApp中的身份驗證問題,探索如何通過合理設計身份驗證流程,平衡安全性和用户體驗之間的關係,防止安全漏洞,同時避免讓用户在登錄過程中

objective-c , webapp , Android , android-studio , ios

收藏 評論