Android無享商城問題記錄

@鐘建新

23毁习、Glide 加載七牛視頻縮略圖問題

1.直接使用Glide 加載的效果蔓彩,圖片按照視頻原來大小顯示

image.png

2.在原來視頻 Url 拼接 ?vframe/jpg/offset/1 獲取縮略圖

clipboard.png

22碴犬、Activity SingleTask啟動模式

MainActivity 設(shè)置為啟動頁灾茁,并且啟動launchModel=“singleTask”迂尝, 跳轉(zhuǎn)到其他頁面后按 HOME 鍵回到桌面丈钙,再點擊 app 圖標進入,顯示的不是最后一次打開的頁面胸懈,而是 MainActivity 頁面担扑。

原因:SingleTask 表示 activity 棧中只有一個實例,而且 MainActivity 又是啟動頁趣钱,所以點擊 app 圖標進入 app涌献, 相當于重新打開 MainActivity,這時在 MainActivity 上的 activity 會被彈出銷毀首有。

解決:使用一個專門的啟動頁(StartActivity)作為 app 啟動頁燕垃,app 啟動通過 StartActivity 跳轉(zhuǎn)到 MainActivity, 并把 StartActivity 銷毀

<activity android:name=".features.system.StartActivity">

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

<activity

android:name=".features.common.MainActivity"

android:configChanges="orientation|screenSize"

android:launchMode="singleTask">

<!--<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>-->

</activity>

21井联、Kotlin 獲取 String 字節(jié)數(shù)

fun String.bytesLength(): Int {

return byteInputStream().available()

}

20卜壕、EditText#setFilters() 限制輸入字節(jié)數(shù)

edittext.addTextChangedListener(new TextWatcherWrapper() {

@Override

public void afterTextChanged(Editable s) {

String string = s.toString().trim();

//限定輸入框最多輸入32個字節(jié)

int inputLength = string.length();

int byteLength = string.getBytes().length;

if (byteLength >= 32) {

edittext.setFilters(new InputFilter[]{new InputFilter.LengthFilter(inputLength)});

} else {

edittext.setFilters(new InputFilter[]{new InputFilter.LengthFilter(32)});

}

edittext.setSelection(edittext.getText().toString().length());

}

});

19、Glide加載原圖OOM

直接使用into(imageView) 加載圖片模糊改為

GlideApp.with(mContext)

.load(item)

.into(new SimpleTarget<Drawable>() {

@Override

public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {

binding.iv.setImageDrawable(resource);

}

});

加載原圖

4.4手機(1280x720)警告OOM:

image.png

優(yōu)化前:

image.png

優(yōu)化:

GlideApp.with(mContext)

.load(item)

.override(IMAGE_WIDTH)//設(shè)置最大寬度為屏幕寬度

.skipMemoryCache(true)//跳過內(nèi)存緩存

.diskCacheStrategy(DiskCacheStrategy.RESOURCE)

.into(new SimpleTarget<Drawable>() {

@Override

public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {

binding.iv.setImageDrawable(resource);

}

});

優(yōu)化后:

image.png

18低矮、DataBinding 自定義View的屬性

@BindingAdapter({"app:nestedScrollingEnabled"})

public static void setNestedScrollingEnabled(RecyclerView recyclerView, boolean enabled) {

recyclerView.setNestedScrollingEnabled(enabled);

}

在xml中要加 @{} 配合使用印叁,否則提示沒有 app:nestedScrollingEnabled這個屬性
app:nestedScrollingEnabled="@{false}"

17、靜態(tài)變量

場景:CartUtil中有個isNeedChange靜態(tài)變量军掂,根據(jù)這個變量判斷是否需要刷新購物車。在第一次打開app時可以正常執(zhí)行昨悼,在直接按返回鍵退出在進來就不能正常刷新購物車了蝗锥,原因是CartUtil沒有隨著app退出而銷毀(類沒有被卸載,app退出了率触,進程還在內(nèi)存中终议,沒有被系統(tǒng)殺死),isNeedChange在內(nèi)存中的狀態(tài)還是false葱蝗。解決:1)不用靜態(tài)變量 2)退出app是手動航設(shè)置isNeedChange=true

注意:退出Activity不等共同于退出程序(進程)

16穴张、Kotlin: java.util.NoSuchElementException: Collection contains no element matching the predicate.

list.first({})改list.firstOrNull({})

15、Android8.0 報錯 java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

只有全屏不透明的activity才能設(shè)置方向

解決:<item name="android:windowIsTranslucent">false</item>

<item name="android:windowDisablePreview">true</item>

14两曼、橫豎屏切換導致activity重走生命周期解決辦法:在清單文件的Activity里配置android:configChanges="orientation|screenSize"

13皂甘、華為榮耀6X:下載的視頻本地無法播放(手機播放器閃退)。文件名:wx_2018-05-29 16:59:13_0.mp4悼凑。原因是手機不支持一些特殊符合:"/:*?<>|" 文件名包存在“:”所以不支持

12偿枕、序列化:把對象轉(zhuǎn)換為字節(jié)序列的過程稱為對象的序列化璧瞬。

反序列化:把字節(jié)序列恢復為對象的過程稱為對象的反序列化。

11渐夸、java kotlin 浮點計算進度丟失問題(101*29.8)嗤锉。使用BigDecimal解決

10、1) 第一次請求權(quán)限時墓塌,用戶拒絕了瘟忱,下一次:shouldShowRequestPermissionRationale() 返回 true,應(yīng)該顯示一些為什么需要這個權(quán)限的說明

2)第二次請求權(quán)限時苫幢,用戶拒絕了酷誓,并選擇了“不在提醒”的選項時:shouldShowRequestPermissionRationale() 返回 false

9、kotlin recycleview adapter 多布局

item 要是可空類型态坦。

否則會報錯java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter item

8盐数、kotlin基礎(chǔ)泛型類,子類不需要泛型的情況

7伞梯、new ArrayList<>(list)

6玫氢、kotlin泛型

out:小的可以賦給大的

class TypedClass<out T>()

val t1 = TypedClass<String>()

val t2: TypedClass<Any> = t1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谜诫,隨后出現(xiàn)的幾起案子漾峡,更是在濱河造成了極大的恐慌,老刑警劉巖喻旷,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件生逸,死亡現(xiàn)場離奇詭異,居然都是意外死亡且预,警方通過查閱死者的電腦和手機槽袄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锋谐,“玉大人遍尺,你說我怎么就攤上這事′剔郑” “怎么了乾戏?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長三热。 經(jīng)常有香客問我鼓择,道長,這世上最難降的妖魔是什么就漾? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任呐能,我火速辦了婚禮,結(jié)果婚禮上从藤,老公的妹妹穿的比我還像新娘催跪。我一直安慰自己锁蠕,他們只是感情好,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布懊蒸。 她就那樣靜靜地躺著荣倾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪骑丸。 梳的紋絲不亂的頭發(fā)上舌仍,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天,我揣著相機與錄音通危,去河邊找鬼铸豁。 笑死,一個胖子當著我的面吹牛菊碟,可吹牛的內(nèi)容都是我干的节芥。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼逆害,長吁一口氣:“原來是場噩夢啊……” “哼头镊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起魄幕,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤相艇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后纯陨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坛芽,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年翼抠,在試婚紗的時候發(fā)現(xiàn)自己被綠了咙轩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡机久,死狀恐怖臭墨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情膘盖,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布尤误,位于F島的核電站侠畔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏损晤。R本人自食惡果不足惜软棺,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尤勋。 院中可真熱鬧喘落,春花似錦茵宪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赌朋,卻和暖如春凰狞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沛慢。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工赡若, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人团甲。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓逾冬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親躺苦。 傳聞我的和親對象是個殘疾皇子身腻,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,332評論 25 707
  • 面試必背 會舍棄、總結(jié)概括——根據(jù)我這些年面試和看面試題搜集過來的知識點匯總而來 建議根據(jù)我的寫的面試應(yīng)對思路中的...
    luoyangzk閱讀 6,763評論 6 173
  • 文|瑩瑩 在你枯水的青春里,你也許曾這樣無望地喜歡過一個人集乔。 你像是淋了一場大雨去件,他的那場雨下得淋漓盡致。 而你扰路,...
    瑩瑩in閱讀 794評論 10 19
  • 心莫名其妙的歡喜不是因為燈光的亢奮不是因為花影的重疊或許獨自在風中沉醉是最合情的緣由
    Bohemian_e6af閱讀 171評論 0 0
  • 已經(jīng)有一段時間沒有進行周檢視了尤溜,從第一個90天踐行完成后,就對自己放松了下來汗唱,很多方面都沒有繼續(xù)執(zhí)行宫莱。在加入了...
    原來如齒閱讀 96評論 0 0