Android 蹲坑的疑难杂症集锦一
各位看官老爺子你們好,我就是那個挖坑不埋,還喜歡開新礦的小喵同志。
問大家一個問題,在Github上找項目的時候,看到中文簡介說明你們是不是覺得這個項目很low不屑一顧?
最近朋友無意中說,在Github上看到中文的項目點都不想點進去,太low了。想想好像很多大神的項目都是純英語的,so,作為只有四級程度的小同志,我就是那個項目里彌漫著中文的家伙(ノQ益Q)ノ彡┻━┻,你們怎么看?我挺喜歡中文的。
例牌Github:https://github.com/CarGuo?:歡迎各種姿勢的star,fuck,watch。
這期要聊的是那么躺在坑里的需求,想想這一路走來,本人還能正常的行走于人世,真是好感動呢,感謝產品和QA的不殺之恩。
-
1、TextView的由于Span導致省略號顯示不正常問題。
-
2、TextView容易被背景同化看不清?增加陰影吧。
-
3、啟動白屏一會或者點擊logo卡頓很久沒反應的暴力解決。
-
4、打開自定義圖庫,選擇圖片容易OOM,頁面崩潰回到程序crash。
-
5、ViewPager嵌套RecyclerView還有輪播圖的手勢沖突,參考:linkagescroll。
-
6、透明主題會導致手機背景在切換Tab的時候穿透到桌面,一般MainActivity不要用這個。
-
7、ViewPager的實時數據刷新。
-
8、CardView 慎用,因為在某些低版本的機器上會有白帶,需要的話可以用shape實現圓角。
-
9、圖片壓縮安利。
-
10、RecyclerView的回到頂部的優化。
1、之前分享過一篇文章《文本編輯和顯示(emoji表情,@某人、鏈接高亮點擊)》,這里用到的Spanable替代String用于TextView的顯示,一般情況下是沒什么問題的,但是如果你需要在列表中或者詳情中做省略號處理,你就有可能發現,省略號居然出現在表情的前面,把一大段文字給省略了;又或者直接最后面顯示了一部分的表情。原因Google可閱,這里就說說我農村式的做法吧:
是的,自己截斷,根據你需要的行數,對應的在顯示的時候把數據截斷,然后自己加上···(這里如有更好的記得評論分享啊!)
textView.setText(spannable); textView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {textView.getViewTreeObserver().removeOnGlobalLayoutListener(this);if (textView.getLineCount() > lineCount) {int endOfLastLine = textView.getLayout().getLineEnd(lineCount - 1);if (endOfLastLine > 4) {CharSequence newVal = textView.getText().subSequence(0, endOfLastLine - 4);textView.setText(newVal);textView.append("...");}}} });2、TextView經常會因為背景圖片的原因而導致出現看不清文字的情況,這里無數次考慮之后,決定某些特殊地方可以用輕微的陰影解決。
android:shadowColor="#AA000000" android:shadowDy="1" android:shadowRadius="1"3、啟動頁問題,其實最好是做冷啟動優化,但是作為一個時間緊(tou)張(lan)的程序猿,我是在WelcomeActivity的主題里設置了主題,暴力解決,雖然這不是長久之計:
4、打開自定義圖庫OOM主要要解決的還是內存釋放的問題,有時候內存一下子來的太猛還是不行的,而且邏輯有問題的崩潰導致APP直接回到解放前的確得不償失,所以呢:
直接把選擇Activityyoga新的process進程打開,這樣閃退了也不影響APP啊,數據該怎么返回還是怎么返回。什么?首次啟動的時候回卡白屏幾秒,下面的主題暴力幫助你。什么?打開卡頓一會才能看到頁面。我試了微信也會,所以如果有優化的控件記得評論分享下,這樣我可以愉悅的去找產品說(zhuang)教(B)。
···
5、更新ViewPager,這里簡單上代碼,感受下,我就靜靜的不說話.....((/- -)/:
9、圖片壓縮安利:Luban,壓縮效果真的不錯,和微信一拼,就是那種長的離譜的圖片壓縮后效果不佳,其他都很不錯,反正我是直接把里面的thirdCompress拿出來套到自己里面。
private File thirdCompress(@NonNull File file)10、RecyclerView的回到頂部的優化。
也許你會問,不就是一鍵回去么,為什么還要優化?
因為愛情,不會輕易悲傷,產品經理都是年輕的模樣,看看回到頂部的效果,所以就有了這個優化:
記得先停止滾動,然后回到第十個,然后在智能的滾到頂部,不信你試試,感覺舒服好多喲。
protected void goToTop() {mRecyclerView.stopScroll();mLayoutManager.setSmoothScrollbarEnabled(true);if (firstVisibilityPosition > 10) {mLayoutManager.scrollToPositionWithOffset(10, 0);}mRecyclerView.smoothScrollToPosition(0);firstVisibilityPosition = 0; }總結
以上是生活随笔為你收集整理的Android 蹲坑的疑难杂症集锦一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 游标练习
- 下一篇: linux IP 命令使用举例