• 日常学习东西


    alias  as="adb shell dumpsys activity activities | grep  mResumedActivity"

    UncaughtExceptionHandler : ANR、crash

     https://www.bilibili.com/video/BV1YA411T76k?p=1  bilibili数据结构学习

    链接:https://pan.baidu.com/s/1W2Y9-Ob-lovleHT5hrvOgQ 

    提取码:wbhp

    成功经理人江苏邮电课程-余世维

    分享一个十年前的管理课程视频,很多观念和方法现在仍然值得思考和借鉴

     git push --set-upstream origin master

    ASpectJ

    Android 插件开发 这样搜索可以学习到XPosed的框架

    架构师还要学习的东西:
    1.jetpack          https://space.bilibili.com/327536224/video        jekpack的讲解

                             https://www.bilibili.com/video/BV1KE411t79D      jekpact的padding分页问题

    https://www.bilibili.com/video/BV1Dk4y1C7mm?from=search&seid=7562526675984957453  : 这个视频讲了MVP的架构如何使用,并且对lifecycle讲解很好

    https://www.bilibili.com/video/BV1M7411W73X?p=3   这个也可以作为架构学习

    2.https://www.bilibili.com/video/BV1kV41127Nx?from=search&seid=17925493274752394614  :热修复原理视频讲解

    3.https://coding.imooc.com/learn/list/157.html   常用三方框架的原理

    https://www.bilibili.com/video/BV19D4y1D7rt     AOP万能动态权限申请框架

    https://www.bilibili.com/video/BV1as411a7dS?from=search&seid=14936439902075540624   微信抢红包

    https://www.bilibili.com/video/BV1gp4y1p7JX?from=search&seid=11194820485871316329 : 这个是5个小时插件化学习,需要学习

    https://space.bilibili.com/474380680/video?tid=0&page=5&keyword=&order=pubdate    这个作为架构师学习的东西,值得学习

    面试宝典:

    https://www.bilibili.com/video/BV1Y54y1p7bJ    https://search.bilibili.com/all?keyword=Android%E9%9D%A2%E8%AF%95&order=totalrank&duration=4&tids_1=0  

    https://www.bilibili.com/video/BV1Gv411r7R5?p=9

    https://www.bilibili.com/video/BV19f4y1r7NM?p=10&spm_id_from=pageDriver   还要接着学习(明天学习这个内容)

    https://search.bilibili.com/all?keyword=Android%20ASM&from_source=nav_search_new  ASM插件化学习(明天学习)

    https://space.bilibili.com/668749972/channel/detail?cid=167741  硬核视频

    //这两个视频需要好好看看

    https://space.bilibili.com/544650554    阿里老师的视频全集

    https://space.bilibili.com/598568989/video?tid=0&page=4&keyword=&order=pubdate  耕田的码牛

    https://space.bilibili.com/668749972?spm_id_from=333.788.b_765f7570696e666f.1    享学课堂

    手写APT的ARouter的框架

    https://www.bilibili.com/video/BV1LA411J7x4?p=4  

    https://www.bilibili.com/video/BV1wz4y197XD?from=search&seid=1914021444026796006  

    2.IOC框架

    3.组件化

    4.性能优化

    5.Kotlin的语言学习

    https://www.bilibili.com/video/BV1rE411k7Xe?from=search&seid=1068319518709523015

    https://www.bilibili.com/video/BV1py4y1B7t8?from=search&seid=2311947604946137820

    https://www.bilibili.com/video/BV1st4y1k7VK?from=search&seid=15067278915290421821

    https://www.bilibili.com/video/BV1TT4y1K7Gd?from=search&seid=14311198755771395048

    JavaPoet 库需要学习,看看是做什么的

    ————————————————————————————————————————————————————————————————

    已学习:

    https://www.bilibili.com/video/BV1EK4y147ra?p=4&spm_id_from=pageDriver :  view的原理讲解以及子view大小的确定,item度量高度没有效果

    https://www.bilibili.com/video/BV1st411N7cC?p=5              Android进阶课程/Android性能优化/安卓开发/安卓性能/Android/安卓

    https://www.bilibili.com/video/BV1yy4y1h7x1?from=search&seid=5074234001942571806 : app加固和项目实战

    https://www.bilibili.com/video/BV1vp4y1s7LJ?p=4    AMS的插件学习

    https://www.bilibili.com/video/BV1kV41127Nx?p=17   so和资源文件的修复

    https://www.bilibili.com/video/BV15k4y1k7WK?from=search&seid=16355020620462501532  JMM  数据原子操作

    https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/#%E5%85%B3%E4%BA%8E%E6%88%91-amp-amp-%E5%8D%9A%E5%AE%A2  Android性能优化的网址

    https://docs.corp.kuaishou.com/d/home/fcABurFTBGF_xG2iy9uv7oZug   快手内部Android内存优化分享 

    https://github.com/chenkunhuang1/Blog 和牛逼的博客

    牛逼的文档:

    https://www.androidweekly.io/  Android 每日周报

    AS 快捷键的使用 :  

    重命名  :                    Shrit  + F6

    字母大小写转换 :      Command + Shirt + U

    代码实现 :                    Command + option + B

    类的调用层次结构 :   control + H

    方法调用层级关系 :   control + option + H

    Gradle 版本号的修改 : 

    build.gradle                         ————> 这里是修改使用gradle 的版本                              classpath 'com.android.tools.build:gradle:3.5.3'

    gradle.wrapper.properties  ———>这里是修改Gradle 的zip的版本号的位置                distributionUrl=https://services.gradle.org/distributions/gradle-5.4.1-all.zip

    快速开启快手的应用
    adb shell am start -n com.smile.gifmaker/com.yxcorp.gifshow.HomeActivity

    adb shell am start -W -n packagename/packageName.MainActivity获取启动时间

    拉下一个新的分支可以使用这种方法

    git merge 分支名字

    切换分支:

    git checkout -b   develop/DEV_6.11.2    origin/develop/DEV_6.11.2

    //提交代码

    git push -u origin HEAD: (ck_home_guide) 替换的分支名字

    //撤回上一次提交的

    git revert a1f1638b088749fd4e5266498f08bbde256b4567(这个是头指针)

    git push -u origin HEAD:zsw_imsi(自己切换的分支)

    //搜索本地的关键字

    grep  关键字  . -srn : 所有代码包含这个关键字

    // 当前目录下搜索这个文件的位置

    find . -name CallFeaturesSettingsTree.java(文件名字) 

    //merge;拉取分支

    git merge  T378780/post-multi-screen(要拉本地的分支)  自己本地的分支

    git merge origin T378780/post-multi-screen:self-branch

    Matrix ApkChecker  这个可以查看一个包的大小

    alias  xx = "cd   ~/ksproject/gifshow-android/"

    alias  oo = "open .  /Users/zhangshunwei/ksproject/gifshow-android/ks-applications/kwai-android/build/outputs"

    alias  ss = "java  -jar  /Users/zhangshunwei/Documents/matrix-apk-canary-0.5.1.jar --config  /Users/zhangshunwei/Documents/config.json"

    //查看是否在栈顶

    alias  as="adb shell dumpsys activity activities | grep  mResumedActivity"

    adb shell wm density 320 

    adb shell wm size 2200x2480     这个命令可以模拟那个音箱设备

    adb shell wm size reset             adb shell wm density reset 这是恢复命令

    adb shell am start -W -n com.kwai.watch.magic/com.kwai.video.westerodemo.WatchActivity   查看应用启动的时长

     往手机里面推送数据

    adb push 

    从手机里面拉取数据

    adb pull

    gradle.properties  ———>配置编译环境的大小

    1. adb shell

    2. top | grep PID

    https://designgitbook.test.gifshow.com/widget/android/dialog/dialog.html.   弹窗样式

    https://git.corp.kuaishou.com/yangyuanxi/gifshow-android/-/merge_requests/10290/diffs     push的开发文档

    Gradle编译对应的网址

    https://blog.csdn.net/u013247461/article/details/103742718/

    —————————————平时学习的知识点————————————————

    1. cancelEventDelivery() : 取消事件传递,事件取消仅限于用在 ThreadMode.PostThread 模式下的事件处理方法
    2. Android sheme 学习 : https://www.cnblogs.com/dame/p/8085907.html  

        https://www.jianshu.com/p/f9f9f0aa0f86

          sheme多个参数的拼接          String url = "zhangshunwei://sucess/kuaishou?id=999&shun=1111";

      3. 学习Mock新的数据

      4. Retrofit  网络请求参数注解Retrofit网络请求参数注解

    https://blog.csdn.net/guohaosir/article/details/78942485

    案例学习 :  https://www.jianshu.com/p/73ebc8036dc3

    https://blog.51cto.com/13952501/2338316.      RXJava比较完整的介绍

            https://mp.weixin.qq.com/s/UAEgdC2EtqSpEqvog0aoZQ.        基础的RxJava学习过程

      5. 正确写法:

    <ViewStub

    android:layout_width="match_parent"

    android:layout_height="30dp"

    android:id="@+id/viewStub"

    android:layout="@layout/linear_inflated"/>

    ```

    错误写法:

    <ViewStub

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:id="@+id/viewStub"

    android:layout="@layout/linear_inflated"/>

    ViewStub使用wrap_content设置layout_height,inflate出来的view所占的实际高度并非inflate的布局文件设置的高度,可能要大于它

    6.setOnInflateListener  : <view-stub>控件点击事件

    7.SlidingPaneLayout :  在它的布局中有两个子控件,第一个子控件作为侧滑菜单,可以从左边滑出,第二个子控件为固定内容部分(需要学习)

    8.Generate ——> JsonFormat : 这个可以转换成Json的对象

    9.LottieAnimationView    Lottie的框架使用

    10.自定义控件的学习

    <?xml version="1.0" encoding="utf-8"?>

    <selector xmlns:android="http://schemas.android.com/apk/res/android">

      <item android:state_enabled="false">

        <shape>

          <stroke android:width="@dimen/button_stroke_width" android:color="@color/p_color_white_pressed" />

          <solid android:color="@android:color/transparent"/>

          <corners android:radius="@dimen/button_radius_middle" />

        </shape>

      </item>

      <item android:state_pressed="true">

        <shape>

          <stroke android:width="@dimen/button_stroke_width" android:color="@color/p_color_white_pressed" />

          <solid android:color="@android:color/transparent"/>

          <corners android:radius="@dimen/button_radius_middle" />

        </shape>

      </item>

      <item android:drawable="@drawable/background_button_whiteborder_small_normal" />

    </selector>

    可以点击时候让图片变为透明

    <selector xmlns:android="http://schemas.android.com/apk/res/android">

      <item android:state_pressed="true">

        <bitmap android:alpha="@integer/image_button_pressed_alpha_f" android:dither="true" android:src="@drawable/live_icon_gift_black_xl_normal" />

      </item>

      <item android:drawable="@drawable/live_icon_gift_black_xl_normal"/>

    </selector>

    11.自定义style的风格

            <!--背景颜色及和透明程度-->  

           <item name="android:windowBackground">@android:color/transparent</item>  

            <!--是否去除标题 -->  

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

           <!--是否去除边框-->  

           <item name="android:windowFrame">@null</item>  

           <!--是否浮现在activity之上-->  

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

            <!--是否模糊-->  

            <item name="android:backgroundDimEnabled">false</item> 

           <!--允许activitytransition转场动画-->

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

         windowTranslucentStatus :  此时该页面可以拉伸到顶部状态栏,并且定义顶部状态栏透明

         true : 表明状态栏不能修改

         false: 表明状态栏能修改

        windowTranslucentNavigation : 此时页面的导航栏设置为透明颜色

        true : 表明底部导航栏不能修改

        false : 表明底部导航栏可以修改

        fitsSystemWindows : 系统会为该view设置paddingTop,距离顶部一定距离 

    Builder、Strategy、AbstractFactory、Wrapper、Observable/Observer、Delegate : 常见设计者模式

    ViewPager多种使用

    https://www.iteye.com/blog/gqdy365-2114968    

    快手TV版开发总结:https://www.yuque.com/docs/share/becdab17-3a74-4aa4-a798-6d1bde08ff95?#

    Android TV开发焦点移动源码分析:https://www.yuque.com/docs/share/c798aad3-6875-4112-a70a-09338ad20de6?#

    SurfaceView原理分析: https://www.yuque.com/docs/share/45d6e11f-5d36-41d3-9cd5-2c49834d6627?#

    坑爹的MultiDex:https://www.yuque.com/docs/share/8e3b7f5b-df6a-4124-b901-6588a33b3d27?#

    ——————————————————————————面试大纲————————————————————————————

    class ConsumerProducer{

        public synchronized void put(){

            while (list.size() == 10){

                try {

                    wait();

                } catch (InterruptedException e) {

                    e.printStackTrace();

                }

            }

           打印线程

            notify();

        }

        public synchronized void take(){

            while (list.size() == 0){

                try {

                    wait();

                } catch (InterruptedException e) {

                    e.printStackTrace();

                }

            }

           打印线程

            notify();

        }

    }

    许昊的github的网址东西

    https://github.com/xuuhaoo/Android-DefenseCrash

    View事件的总结:

    dispatchTouchEvent的总结:

    ViewGrop:  在down改为true :  ViewGrop   down、move、up三个事件都可以收到,从Activity传递给ViewGrop的,view什么事件都不能接收到

      在move改为true:   ViewGrop可以接收到down事件,view也可以接收到down事件,其余什么事件都接受不到,由Activity dispatchTouchEvent和onTouchEvent自己处理

      在up改为true     : ViewGroup可以接收到down事件,view也可以接收到down事件,其余什么都接受不到,由Activity dispatchTouchEvent和onTouchEvent自己处理

    onInterceptTouchEvent的总结:

    ViewGroup: 在down改为true :  ViewGrop可以接收到down事件,view什么事件都接受不到,由Activity dispatchTouchEvent和onTouchEvent自己处理

        在up改为true :       ViewGrop可以接收到down事件,view也可以接收到down事件,由Activity dispatchTouchEvent和onTouchEvent自己处理

        在move改为true :  ViewGrop可以接收到down事件,view也可以接收到down事件,由Activity dispatchTouchEvent和onTouchEvent自己处理

    onTouchEvent的总结:

    ViewGrop:  在down改为true :  ViewGrop   down、move、up三个事件都可以收到,从Activity传递给ViewGrop的,view可以收到down事件,

      在up改为true :       ViewGrop可以接收到down事件,view也可以接收到down事件,由Activity dispatchTouchEvent和onTouchEvent自己处理

      在move改为true :  ViewGrop可以接收到down事件,view也可以接收到down事件,由Activity dispatchTouchEvent和onTouchEvent自己处理

    dispatchTouchEvent的总结:

    View:          在down改为true :  ViewGrop   down、move、up三个事件都可以收到,view这个三个事件也都可以收到

      在move改为true:   ViewGrop可以接收到down事件,view也可以接收到down事件,其余什么事件都接受不到,由Activity dispatchTouchEvent和onTouchEvent自己处理

      在up改为true     : ViewGroup可以接收到down事件,view也可以接收到down事件,其余什么都接受不到,由Activity dispatchTouchEvent和onTouchEvent自己处理

    onTouchEvent的总结:

    View:          在down改为true :  ViewGrop   down、move、up三个事件都可以收到,view这个三个事件也都可以收到

      在up改为true :       ViewGrop可以接收到down事件,view也可以接收到down事件,由Activity dispatchTouchEvent和onTouchEvent自己处理

      在move改为true :  ViewGrop可以接收到down事件,view也可以接收到down事件,由Activity dispatchTouchEvent和onTouchEvent自己处理

    https://interview.nowcoder.com/interview/10798716/interviewee?code=hfdoZyHs

    转租:随时可以入住

    龙兴园西区,业主直租,3600/月,开间房间,有厨房和独立卫生间,30平左右,你只需要交电费、水费、燃气费,其余都是业主负责。

    走路到公司20分钟左右,骑车10分钟左右,房补范围内。出门有超市和公交站

    热observers

    冷observers

    ss代理软件、

    线程的优化:线程卡扣

    ASM : Json —>task

    图片加载成功率需要学习一下

  • 相关阅读:
    android状态栏
    python基础(二)——文件操作
    python基础(一)——字符串
    每日读书
    gradle相关
    EditText整体hint
    java生成pdf
    Androidstudio点9图报错
    【ASP.NET Core学习】使用JWT认证授权
    数据访问仓储模式的事务管理(Unit of Work)
  • 原文地址:https://www.cnblogs.com/liunx1109/p/14699518.html
Copyright © 2020-2023  润新知