鍍金池/ 問答/ Android問答
過客 回答

沒辦法的,React Native的js引擎和runtime就有這么大。。。這些庫文件同時(shí)有x86版本和arm版本,如果你的app不需要在x86處理器(比如華碩的某款手機(jī))上運(yùn)行,可以裁剪掉x86的庫文件,大概可以縮小個(gè)3、4M的樣子,再想減小就不可能了。

嫑吢丕 回答

你需要自己通過下面的命令生成一套密鑰,包括公鑰和私鑰

ssh-keygen -t rsa -C "your email"

然后把公鑰復(fù)制到git 倉庫的SSH KEY 的設(shè)置當(dāng)中。

使用SSH其實(shí)是加密通信,省去了每次輸入賬號密碼的麻煩。每次通信時(shí)會(huì)拿線上的公鑰和本地的私鑰做校驗(yàn)

這是服務(wù)端的數(shù)據(jù)庫開發(fā)吧,Android SQLite3 Database 哪有這么復(fù)雜?

margin顯示粉紅色并不影響布局,他就是布局邊界的顯示顏色
padding系列的,沒有邊界線,也沒有顏色,不容易看出來

歆久 回答

各有千秋,也就是多頁面和單頁面的差別了。

單頁面

資源只請求一次,第一次加載頁面稍微慢點(diǎn),但是跳轉(zhuǎn)單頁面的其他路由會(huì)更流暢

多頁面

每次加載頁面都是重新加載資源,資源少了,正常情況下應(yīng)該會(huì)比單頁面第一次加載快點(diǎn)點(diǎn)

但是

在目前的網(wǎng)絡(luò)情況下, 除非是追求毫秒的響應(yīng)(或者頁面資源非常多的情況),單頁面的優(yōu)勢(流暢)會(huì)遠(yuǎn)遠(yuǎn)大于多頁面(hybird不用管SEO)

擱淺 回答

你的setSrc方法接收一個(gè)readableArray,然而你在實(shí)際調(diào)用的時(shí)候卻傳了一個(gè)String, 所以報(bào)錯(cuò)。
解決方法:
<ImageView src={['']} />
或者更改setSrc的形參類型為String

櫻花霓 回答

既然只有確認(rèn)鍵不能捕捉,那就設(shè)置為default。

櫻花霓 回答

我想問一下,學(xué)會(huì)ffmpeg 需要先學(xué)會(huì)什么技術(shù)

誮惜顏 回答

body加個(gè)overflow:hidden試試

你的需求不一定要用自定義的 task 實(shí)現(xiàn),我想到其他兩種方式來實(shí)現(xiàn)你的需求

1.自定義 task

//將文件拷到 assets 目錄下
//Google
task chGoogleRes(type : Copy) {
    from "/Users/yanggu/Desktop/untitled.txt"
    into "src/main/assets"
}

//Xiaomi
task chXiaomiRes(type : Copy) {
    from "/Users/yanggu/Desktop/helper/untitled.txt" 
    into "src/main/assets"
}

project.afterEvaluate {
    //Xiaomi
    tasks.matching {
        it.name.startsWith('compile') && (it.name.endsWith('XiaomiReleaseSources'))
    }.each { task ->
        task.dependsOn(chXiaomiRes)  // 任務(wù)依賴:執(zhí)行task之前需要執(zhí)行dependsOn指定的任務(wù)
    }

    //Google
    tasks.matching {
        it.name.startsWith('compile') && (it.name.endsWith('GoogleReleaseSources'))
    }.each { task ->
        task.dependsOn(chGoogleRes)  // 任務(wù)依賴:執(zhí)行task之前需要執(zhí)行dependsOn指定的任務(wù)
    }
}

2.依賴 modle

//一個(gè)渠道新建一個(gè) modle,不同的的渠道依賴不同的 modle,把不同的資源放在不同的mudle,適合有多個(gè)資源不同的情況(資源名得一樣,比如有三張背景圖片分別放在三個(gè) modle 下,但它們的名字得一樣)
dependencies {
    googleCompile project(':googlereslib')
    xiaomiCompile project(':xiaomireslib')
    _360Compile project(':_360reslib')
}

3.代碼判斷當(dāng)前的渠道

//把所有的圖片都放到工程下,根據(jù)代碼判斷當(dāng)前的渠道來設(shè)置不同的圖片,適合一張圖片不一樣的情況(名字得不一樣)
switch (BuildConfig.FLAVOR) {
            case "google":
                //TODO
                break;
            case "xiaomi":
                //TODO
                break;
            case "_360":
                //TODO
                break;
        }
尐懶貓 回答

今天上午我稍微看了一下源碼,發(fā)現(xiàn)調(diào)用getReactNativeHost的地方是ReactActivityDelegate.java(ReactNativeHostDelegate-> onCreate會(huì)調(diào)用getReactNativeHost().getReactInstanceManager()),只有ReactActivity執(zhí)行生命周期才會(huì)調(diào)用到的。

所以我疑惑了,這個(gè)跟Application有關(guān)系嗎。我查看了下非集成到app能正常調(diào)用的工程的調(diào)用到的方法棧:
方法stack

很清晰,測試用的App之所以能調(diào)用到getReactNativeHost,是因?yàn)镽eactActivity的生命周期調(diào)用了ReactActivityDelegate。

那么我發(fā)現(xiàn)我集成的App里,根本沒有一個(gè)繼承ReactActivity的類。進(jìn)而我才發(fā)現(xiàn),編寫Native Modules和Integration with Existing Apps的調(diào)用原生Module的方法是不一樣的,后者完全不需要在Application里提供getReactNativeHost來注冊package,只需要在相應(yīng)的交互入口的Activity里注冊你的Package就行了!也就是這樣,在后面再add一個(gè)你自己寫的package,這樣就注冊成功了。只能說,getReactNativeHost和這種是兩種不同的注冊本地模塊的方法。
addPackage

https://www.jianshu.com/p/5cf...

毀憶 回答

edittext有一個(gè)叫textCursorDrawable的屬性,可以設(shè)置光標(biāo)顏色,然后自己寫一個(gè)shape去玩吧

若相惜 回答

CoordiantorLayout 的布局結(jié)構(gòu)是:

<CoordiantorLayout>
    <AppBarLayout>
        ...
    </AppBarLayout>
    <ScrollView />
</CoordiantorLayout>

也就是說 CoordinatorLayout 下只能有兩個(gè)元素節(jié)點(diǎn)。

你的需求應(yīng)該要在 CoordinatorLayout 外面再套一層,把自己的 Layout 放進(jìn)去。做法可以參照樓上的回答。

尋仙 回答

網(wǎng)絡(luò)異步加載更新View可能會(huì)導(dǎo)致你說的情況,方案:
1.ViewPager的setOffscreenPageLimit方法提高預(yù)加載數(shù)量,保證滑動(dòng)時(shí)不會(huì)銷毀fragment,缺點(diǎn)僅限于有限級加載
2.對網(wǎng)絡(luò)請求下手,銷毀頁面的同時(shí)取消網(wǎng)絡(luò)請求
3.網(wǎng)絡(luò)請求成功,判斷是否銷毀再行更新View