2021年10月9日
摘要:
崩潰棧信息: java.lang.RuntimeException: Unable to start activity ComponentInfo{global.longbridge.app.android/com.longbridge.wealth.mvp.ui.activity.WealthWi
閱讀全文
posted @ 2021-10-09 15:56
總李寫代碼
閱讀(5393)
推薦(1)
2017年6月1日
摘要:
前言: 關(guān)于Android渠道打包是一個比較老的話題,今天主要記錄總結(jié)一下多渠道打包以及如果動態(tài)配置修改一些資源屬性。今天以公司實際需求為例進行演示,由于項目復(fù)用很多公共的業(yè)務(wù)組件,而且業(yè)務(wù)組件之間的跳轉(zhuǎn)采用Scheme協(xié)議,每個業(yè)務(wù)組件的host地址不變,所以需要在打包的時候動態(tài)修改scheme協(xié)
閱讀全文
posted @ 2017-06-01 09:17
總李寫代碼
閱讀(6274)
推薦(1)
2017年4月20日
摘要:
前言: 一直致力于提高開發(fā)效率降低項目耦合,今天想抽空學(xué)習(xí)一下MVP架構(gòu)設(shè)計模式,學(xué)習(xí)一下如何運用到項目中。 MVP架構(gòu)設(shè)計模式 MVP模式是一種架構(gòu)設(shè)計模式,也是一種經(jīng)典的界面模式。MVP中的M代表Model, V是View, P是Presenter。 Model 業(yè)務(wù)邏輯和實體模型 View 代
閱讀全文
posted @ 2017-04-20 08:50
總李寫代碼
閱讀(4884)
推薦(3)
2017年4月1日
摘要:
前言: 最近牽頭發(fā)起公司app的重構(gòu)工作,如何通過重構(gòu)讓項目的耦合降低、開發(fā)效率提高,一直是我努力的方向,今天來學(xué)習(xí)一下一個注解框架Dagger2,然后看看如何使用它來降低項目的耦合。 Dagger2 一句話:一款快速的注解框架,應(yīng)用于Android、Java,由 Google 開發(fā)和維護,是 Sq
閱讀全文
posted @ 2017-04-01 08:55
總李寫代碼
閱讀(5382)
推薦(1)
2017年3月20日
摘要:
前言: 一直致力于為公司尋找更加高效的解決方案,作為一款K12在線教育App,功能中難免會有LaTeX數(shù)學(xué)公式的顯示需求,這部分公司已經(jīng)實現(xiàn)了此功能,只是個人覺得在體驗和效率上還是不太好,今天來聊一下如何讓原生渲染LaTeX數(shù)學(xué)公式。 先了解一下LaTeX數(shù)學(xué)公式 什么是Latex?感興趣的同學(xué)可以
閱讀全文
posted @ 2017-03-20 09:15
總李寫代碼
閱讀(7433)
推薦(3)
2017年3月14日
摘要:
前言: 前面介紹了Java的數(shù)據(jù)結(jié)構(gòu)List、Map,今天抽空學(xué)習(xí)總結(jié)一下另一種數(shù)據(jù)結(jié)構(gòu)Set。 Set介紹 Set相對于List、Map是最簡單的一種集合。集合中的對象不按特定的方式排序,并且沒有重復(fù)對象。 特點: 它不允許出現(xiàn)重復(fù)元素; 不保證和政集合中元素的順序 允許包含值為null的元素,但
閱讀全文
posted @ 2017-03-14 09:08
總李寫代碼
閱讀(11191)
推薦(0)
2017年3月10日
摘要:
前言: 前面學(xué)習(xí)總結(jié)了List的使用及效率對比,今天總結(jié)學(xué)習(xí)一下鍵值映射關(guān)系Map,順便學(xué)習(xí)一下Android中使用Map需要注意哪些,以及谷歌官方針對Android對Map做了哪些優(yōu)化。 先了解下Map Map 是一種把鍵對象和值對象映射的集合,它的每一個元素都包含一對鍵對象和值對象。 Map沒有
閱讀全文
posted @ 2017-03-10 10:06
總李寫代碼
閱讀(6679)
推薦(0)
2017年3月6日
摘要:
前言: 在我們平常開發(fā)中難免會用到List集合來存儲數(shù)據(jù),一般都會選擇ArrayList和LinkedList,以前只是大致知道ArrayList查詢效率高LinkedList插入刪除效率高,今天來實測一下。 先了解一下List List列表類,順序存儲任何對象(順序不變),可重復(fù)。 List是繼承
閱讀全文
posted @ 2017-03-06 16:41
總李寫代碼
閱讀(15379)
推薦(1)
2017年3月3日
摘要:
前言: 公司的業(yè)務(wù)組件化推進的已經(jīng)差不多三四個月的時間了,各個業(yè)務(wù)組件之間的解耦工作已經(jīng)基本完成,各個業(yè)務(wù)組件以module的形式存在項目中,然后項目依賴本地的module,多少有點不太利于項目的并行開發(fā)維護了,本質(zhì)原因就是如果是依賴本地的,必須要將依賴的module和主工程放在一個project里
閱讀全文
posted @ 2017-03-03 08:45
總李寫代碼
閱讀(6893)
推薦(1)
2017年1月6日
摘要:
前言: Android 4.4之后谷歌提供了沉浸式全屏體驗, 在沉浸式全屏模式下, 狀態(tài)欄、 虛擬按鍵動態(tài)隱藏, 應(yīng)用可以使用完整的屏幕空間, 按照 Google 的說法, 給用戶一種 身臨其境 的體驗。而Android 5.0之后谷歌又提出了 ColorPalette 的概念,讓開發(fā)者可以自己設(shè)定
閱讀全文
posted @ 2017-01-06 08:47
總李寫代碼
閱讀(28979)
推薦(5)
2016年12月14日
摘要:
前言: Annotation注解在Android的開發(fā)中的使用越來越普遍,例如EventBus、ButterKnife、Dagger2等,之前使用注解的時候需要利用反射機制勢必影響到運行效率及性能,直到后來android-apt的出現(xiàn)通過注解根據(jù)反射機制動態(tài)編譯生成代碼的方式來解決在運行時不再使用發(fā)
閱讀全文
posted @ 2016-12-14 09:10
總李寫代碼
閱讀(15482)
推薦(0)
2016年12月9日
摘要:
前言: 自從EventBus 3.x發(fā)布之后其通過注解預(yù)編譯的方式解決了之前通過反射機制所引起的性能效率問題,其中注解預(yù)編譯所采用的的就是android-apt的方式,不過最近Apt工具的作者宣布了不再維護該工具了,因為Android Studio推出了官方插件,并且可以通過gradle來簡單的配置
閱讀全文
posted @ 2016-12-09 11:48
總李寫代碼
閱讀(17971)
推薦(1)
2016年12月7日
摘要:
前言: 在我們做App開發(fā)的過程中基本上都會用到文件存儲,所以文件存儲對于我們來說是相當熟悉了,不過自從Android 6.0發(fā)布之后,基于運行時權(quán)限機制訪問外置sdcard是需要動態(tài)申請權(quán)限,所以以往直接sdcard根目錄上直接新建了一個xxx/cache/目錄來做文件存儲就會不是那么容易控制了,
閱讀全文
posted @ 2016-12-07 08:56
總李寫代碼
閱讀(19637)
推薦(1)
2016年12月2日
摘要:
前言: Java 8推出已經(jīng)將近2年多了,引入很多革命性變化,加入了函數(shù)式編程的特征,使基于行為的編程成為可能,同時減化了各種設(shè)計模式的實現(xiàn)方式,是Java有史以來最重要的更新。但是Android上,一直沒有看到支持Java8的消息。Android到底會不會支持Java8呢?答案是肯定的,Andro
閱讀全文
posted @ 2016-12-02 09:03
總李寫代碼
閱讀(4216)
推薦(1)
2016年11月29日
摘要:
前言: 為了加快開發(fā)效率,目前公司一些功能使用H5開發(fā),這里難免會用到Js與Java函數(shù)互相調(diào)用的問題,這個Android是提供了原生支持的,不過存在安全隱患,今天我們來學(xué)習(xí)一種安全方式來滿足Js與java互相調(diào)用的需求。它就是WebViewJavascriptBridge。 學(xué)習(xí)動機: 先看下之前
閱讀全文
posted @ 2016-11-29 09:04
總李寫代碼
閱讀(37696)
推薦(6)
2016年11月24日
摘要:
前言: 上篇重點學(xué)習(xí)了Android 6.0的運行時權(quán)限,今天還是圍繞著Android 6.0權(quán)限適配來總結(jié)學(xué)習(xí),這里主要介紹一下我們公司解決Android 6.0權(quán)限適配的方案:RxJava+RxPermission。這里不再介紹Android 6.0運行時權(quán)限了,直接看下如何使用RxPermis
閱讀全文
posted @ 2016-11-24 09:03
總李寫代碼
閱讀(25105)
推薦(0)
2016年11月23日
摘要:
前言: 今天還是圍繞著最近面試的一個熱門話題Android 6.0權(quán)限適配來總結(jié)學(xué)習(xí),其實Android 6.0權(quán)限適配我們公司是在今年5月份才開始做,算是比較晚的吧,不過現(xiàn)在Android 6.0以上設(shè)備越來越多了,所以Android 6.0 權(quán)限適配是必不可少的工作,這里主要介紹一下我們公司是如
閱讀全文
posted @ 2016-11-23 08:56
總李寫代碼
閱讀(28134)
推薦(1)
2016年11月18日
摘要:
前言: 最近突然喜歡上一句詩:“寵辱不驚,看庭前花開花落;去留無意,望天空云卷云舒。” 哈哈~,這個和今天的主題無關(guān),最近只要不學(xué)習(xí)總覺得生活中少了點什么,所以想著圍繞著最近面試過程中討論比較多的一個知識點Android 6.0 權(quán)限適配問題來進行學(xué)習(xí),不過我不想直接進入這個主題,所以選擇先去了解一
閱讀全文
posted @ 2016-11-18 09:05
總李寫代碼
閱讀(18328)
推薦(1)
2016年11月14日
摘要:
前言: 其實RxJava引起的內(nèi)存泄漏是我無意中發(fā)現(xiàn)了,本來是想了解Retrofit與RxJava相結(jié)合中是如何通過適配器模式解決的,結(jié)果卻發(fā)現(xiàn)了RxJava是會引起內(nèi)存泄漏的,所有想著查找一下資料學(xué)習(xí)一下如何解決RxJava引起的內(nèi)存泄漏,就查到了利用Rxlifecycle開源框架可以解決,今天周
閱讀全文
posted @ 2016-11-14 09:08
總李寫代碼
閱讀(19380)
推薦(1)
2016年11月10日
摘要:
前言: 最近公司正在進行業(yè)務(wù)組件化進程,其中的路由實現(xiàn)用到了Java的反射機制,既然用到了就想著好好學(xué)習(xí)總結(jié)一下,其實無論是之前的EventBus 2.x版本還是Retrofit、早期的View注解框架都或多或少的用到Java的反射機制。以下是自己使用反射的兩個地方,感興趣的同學(xué)可以看下:Andro
閱讀全文
posted @ 2016-11-10 08:59
總李寫代碼
閱讀(40711)
推薦(12)
2016年11月1日
摘要:
前言: 最近公司C輪融資成功了,移動團隊準備擴大一下,需要招聘Android開發(fā)工程師,陸陸續(xù)續(xù)面試了幾位Android應(yīng)聘者,面試過程中聊到性能優(yōu)化中如何避免內(nèi)存泄漏問題時,很少有人全面的回答上來。所以決定抽空學(xué)習(xí)總結(jié)一下這方面的知識,以及分享一下我們是如何檢測內(nèi)存泄漏的。我們公司使用開源框架Le
閱讀全文
posted @ 2016-11-01 08:45
總李寫代碼
閱讀(30687)
推薦(5)
2016年10月21日
摘要:
前言: 最近公司的App為了加快開發(fā)效率選擇了一部分功能采用H5開發(fā),從目前市面的大部分App來講,大致分成Native App、Web App、Hybrid App三種方式,個人覺得目前以Hybrid App居多,單純的數(shù)據(jù)展示我們直接采用WebView來渲染就可以了,但是有時候可能會用到兩者之間
閱讀全文
posted @ 2016-10-21 08:30
總李寫代碼
閱讀(38270)
推薦(3)
2016年10月20日
摘要:
前言: 從事Android開發(fā)的同學(xué)都知道移動設(shè)備的內(nèi)存使用是非常敏感的話題,今天我們來看下如何使用軟引用與弱引用來優(yōu)化內(nèi)存使用。下面來理解幾個概念。 1.StrongReference(強引用) 強引用是我們最最常見的一種,一般我們在代碼中直接通過new出來的對象等,都是強引用,強引用只要存在沒有
閱讀全文
posted @ 2016-10-20 09:08
總李寫代碼
閱讀(5132)
推薦(2)
2016年10月11日
摘要:
前言: 這幾天被公司臨時拉到去做Android IM即時通信協(xié)議實現(xiàn),大致看了下他們定的協(xié)議,由于之前沒有參與,據(jù)說因服務(wù)器性能限制,只達成非明文傳遞,具體原因我不太清楚,不過這里用的加密方式是采用異或加密。這種加密方式在之前做Android加密記事本的時候采用過這種加密方式。今天已經(jīng)把客戶端心跳維
閱讀全文
posted @ 2016-10-11 08:50
總李寫代碼
閱讀(9785)
推薦(1)
2016年9月23日
摘要:
前言: 對于SHA安全散列算法,以前沒怎么使用過,僅僅是停留在聽說過的階段,今天在看圖片緩存框架Glide源碼時發(fā)現(xiàn)其緩存的Key采用的不是MD5加密算法,而是SHA-256加密算法,這才勾起了我的好奇心,所以趁著晚上沒啥事,來學(xué)習(xí)一下。 其他幾種加密方式: Android數(shù)據(jù)加密之Rsa加密 An
閱讀全文
posted @ 2016-09-23 08:33
總李寫代碼
閱讀(5675)
推薦(1)
2016年9月21日
摘要:
前言: 前面學(xué)習(xí)總結(jié)了平時開發(fā)中遇見的各種數(shù)據(jù)加密方式,最終都會對加密后的二進制數(shù)據(jù)進行Base64編碼,起到一種二次加密的效果,其實呢Base64從嚴格意義上來說的話不是一種加密算法,而是一種編碼算法,為何要使用Base64編碼呢?它解決了什么問題?這也是本文探討的東西? 其他幾種加密方式: An
閱讀全文
posted @ 2016-09-21 08:48
總李寫代碼
閱讀(54172)
推薦(2)
2016年9月20日
摘要:
前言: 項目中無論是密碼的存儲或者說判斷文件是否是同一文件,都會用到MD5算法,今天來總結(jié)一下MD5加密算法。 什么是MD5加密? MD5英文全稱“Message-Digest Algorithm 5”,翻譯過來是“消息摘要算法5”,由MD2、MD3、MD4演變過來的,是一種單向加密算法,是不可逆的
閱讀全文
posted @ 2016-09-20 08:43
總李寫代碼
閱讀(55680)
推薦(4)
2016年9月13日
摘要:
前言: 前面分析了APP的現(xiàn)狀以及業(yè)務(wù)組件化的一些探討(Android業(yè)務(wù)組件化之現(xiàn)狀分析與探討),以及通信的橋梁Scheme的使用(Android業(yè)務(wù)組件化之URL Scheme使用),今天重點來聊下子模塊SubModule的拆分以及它們之間的路由Router實現(xiàn)。本篇涉及的相關(guān)知識比較多,閱讀本
閱讀全文
posted @ 2016-09-13 08:12
總李寫代碼
閱讀(9244)
推薦(0)
2016年9月9日
摘要:
前言: 從個人經(jīng)歷來說的話,從事APP開發(fā)這么多年來,所接觸的APP的體積變得越來越大,業(yè)務(wù)的也變得越來越復(fù)雜,總來來說只有一句話:這是一個APP臃腫的時代!所以為了告別APP臃腫的時代,讓我們進入一個U盤時代,每個業(yè)務(wù)模塊都是一個具備獨立運行的U盤,插在哪里都可以完美運行,這就是推進業(yè)務(wù)組件化的初
閱讀全文
posted @ 2016-09-09 08:23
總李寫代碼
閱讀(9146)
推薦(7)
2016年9月1日
摘要:
前言: 最近公司業(yè)務(wù)發(fā)展迅速,單一的項目工程不再適合公司發(fā)展需要,所以開始推進公司APP業(yè)務(wù)組件化,很榮幸自己能夠牽頭做這件事,經(jīng)過研究實現(xiàn)組件化的通信方案通過URL Scheme,所以想著現(xiàn)在還是在預(yù)研階段,很有必要先了解一下URL Scheme,看看是如何使用的?其實在之前做Hybrid混合編程
閱讀全文
posted @ 2016-09-01 08:14
總李寫代碼
閱讀(48053)
推薦(9)