Andorid提供三種動(dòng)畫,分別為逐幀動(dòng)畫篮绿、補(bǔ)間動(dòng)畫孵延、屬性動(dòng)畫,下面逐一介紹各個(gè)動(dòng)畫的實(shí)現(xiàn)流程亲配。 1 逐幀動(dòng)畫 (Frame Animation) 原理:使用了Choreog...
![240](https://cdn2.jianshu.io/assets/default_avatar/9-cceda3cf5072bcdd77e8ca4f21c40998.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
Andorid提供三種動(dòng)畫,分別為逐幀動(dòng)畫篮绿、補(bǔ)間動(dòng)畫孵延、屬性動(dòng)畫,下面逐一介紹各個(gè)動(dòng)畫的實(shí)現(xiàn)流程亲配。 1 逐幀動(dòng)畫 (Frame Animation) 原理:使用了Choreog...
Notification簡(jiǎn)介 通知是在常規(guī)UI界面之外向用戶展示消息的工具尘应,當(dāng)系統(tǒng)發(fā)出通知時(shí)惶凝,它會(huì)以圖表的形式顯示在狀態(tài)欄中。此時(shí)打開通知欄犬钢,就可以看到通知的詳細(xì)信息了苍鲜。創(chuàng)建...
「如果沒有先set的話,即在map中查找不到對(duì)應(yīng)的存儲(chǔ)玷犹,則會(huì)通過調(diào)用setInitialValue方法返回i混滔,而在setInitialValue方法中,有一個(gè)語句是T value = initialValue()歹颓, 而默認(rèn)情況下坯屿,initialValue方法返回的是null∥】福」
你自己在結(jié)論里都寫了领跛,沒set直接get找不到會(huì)返回null,這個(gè)是不會(huì)報(bào)空指針撤奸。至于你demo報(bào)空指針的原因是吠昭,你get返回的null作為L(zhǎng)ong類型拆箱轉(zhuǎn)long類型的時(shí)候,調(diào)用
null.longValue() 這才是你空指針的原因寂呛,跟ThreadLocal啥的沒關(guān)系怎诫。
總結(jié)就是:
1、ThreadLocal在get之前不set不會(huì)空指針贷痪;
2、java自動(dòng)拆箱實(shí)際是調(diào)用了對(duì)象的方法將封裝類型轉(zhuǎn)為基本類型蹦误,只要是對(duì)象調(diào)用方法劫拢,就需要預(yù)防空指針。
該文章屬于Android Handler系列文章,如果想了解更多偶洋,請(qǐng)點(diǎn)擊《Android Handler機(jī)制之總目錄》 前言 在上幾篇文中我們介紹了整個(gè)消息的循環(huán)機(jī)制以及消息...
1.引言 kotlin的異常處理很不容易理解熟吏,看了好久,好久慢慢才明白玄窝,因?yàn)橛斜匾獙懸黄恼赂闱宄幌聠栴}: try-catch捕獲異常 CoroutineException...
給Android studio的快捷鍵進(jìn)行一次整理 Ctrl Alt Shift Ctrl + Alt Ctrl + Shift Alt + Shift Ctrl + Shi...
一、前言: 在android5.0的時(shí)候添加CoordinatorLayout俩块、AppBarLayout黎休、Toolbar浓领、CollapsingToolbarLayout等等一...
Kotlin 中新增了「內(nèi)聯(lián)函數(shù)」,內(nèi)聯(lián)函數(shù)起初是在 C++ 里面的势腮。 那在 Kotlin 中加入內(nèi)聯(lián)函數(shù)联贩,是有什么作用呢? 以下內(nèi)容分為以下幾部分: 什么是 inline ...
Room增加數(shù)據(jù)表遷移小結(jié) Room使用注解方式增加數(shù)據(jù)表捎拯,進(jìn)行遷移示例1 使用@Entity注解增加實(shí)體類泪幌,示例:@Entity(tableName = "notic...
ubuntu 20.10安裝微信 (文章編寫于2021-4-10) 1. 介紹 安裝了ubuntu 20.10系統(tǒng)座菠,想裝個(gè)微信。方便手機(jī)向電腦發(fā)送文字圖片等藤树。網(wǎng)上找了一些教程...
前言 寫作記錄:5月27日晚上寫下初版岁钓,30日下午補(bǔ)充一些內(nèi)容...結(jié)束 前幾天發(fā)布了第一篇文章升略,關(guān)于分析FragmentPagerAdapter的...沒想到引起個(gè)各路英雄...
隨著面試和工作中多次遇到ARouter的使用問題屡限,我決定把ARouter的源碼從頭到尾理一遍品嚣。讓我瞧瞧你到底有幾斤幾兩,為啥大家在項(xiàng)目組件化中都用你做路由框架钧大。 前言 在開發(fā)...
Binder承擔(dān)了絕大部分Android進(jìn)程通信的職責(zé),可以看做是Android的血管系統(tǒng)啊央,負(fù)責(zé)不同服務(wù)模塊進(jìn)程間的通信眶诈。在對(duì)Binder的理解上,可大可小瓜饥,日常APP開發(fā)并...
1. Handler 的作用 在Android為了保障線程安全逝撬,規(guī)定只能由主線程來更新UI信息。而在實(shí)際開發(fā)中乓土,會(huì)經(jīng)常遇到多個(gè)子線程都去操作UI信息的情況宪潮,那么就會(huì)導(dǎo)致UI線...
轉(zhuǎn)自https://my.oschina.net/youranhongcha/blog/196933 1 概述在Android中,我們常常使用PendingIntent來表達(dá)...
目錄 1.介紹 2.為什么要用ConstraintLayout 3.如何使用ConstraintLayout3.1 添加依賴3.2 相對(duì)定位3.3 角度定位3.4 邊距3.5...