美文网首页
上班第一周

上班第一周

作者: 寒冬_腊月 | 来源:发表于2020-05-10 22:36 被阅读0次

    任务

    1. 配制环境
    2. 了解公司组织架构
    3. 熟悉项目代码
    4. 解决ANR问题

    配制环境

    公司用的是Deepin操作系统(是一个基于Debian的Linux操作系统), 之前公司用的是mint 18.0,所以用的还算顺手

    1. 使用uname -a打印当前系统相关信息
    Linux android-PC 4.15.0-30deepin-generic #31 SMP Fri Nov 30 04:29:02 UTC 2018 x86_64 GNU/Linux
    
    1. adb 配制环境变量配制
    $ vim .bashrc
    

    打开文件,在文件最下面添加下面配制

    export ANDROID_HOME=/home/youruser/Android/sdk
    export PATH="${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools" //注意这里是要以冒号分隔
    
    1. 安装常用的工具
      gvim,sublime,atom
    $ sudo apt-get install subversion
    $ sudo apt-get install git
    
    1. Chrome安装axure插件
      原型图都是用axure来做的,要用chrome打开生成的axure文件,就要安装Axure RP Extension for Chrome这个插件

    2. svn使用
      公司给了一个文档地址和对应的svn账号
      首先自己通过下面命令下载

    $ svn checkout svn路径 --username yourname //如果当前登录系统的名字和svn用户名不一样的时候,要指定相应的用户名
    

    后面发现由于这个拉的是整个公司不同部门的所有的文档,下载了半个小时都没有下载完,然后我就在网上搜索使用下面命令

    $ svn checkout svn路径 --username yourname --depth=empty //只checkout目录,不包括内容
    
    1. 邮箱配制
    imap.mxhichina.com
    smtp.mxhichina.com
    

    项目结构

    使用阿里ARouter路由实现Android模块化开发,用到的库有:

    com.alibaba.android.arouter  
    com.tencent.smtt.sdk
    com.taobao.sophix
    com.tencent.bugly
    airbnb.lottie
    com.google.gson
    

    ANR问题排查

    项目用的是bugly来统计报错信息,最近发现很多ANR的问题,日记如下:

    Android ANR问题原因分析(Reason: Input dispatching timed out (Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.))
    

    刚才有一处报错可以定位到具体的代码,能过查看那个类涉及到的代码,发现有三个问题会导致ANR

    1. 使用了collections.sort排列数组,数据量大会很耗时
    2. ListView嵌套在ScrollView当中,导致ListView复用
    3. Adapter每一个item都有循环去查找,数据量大会很耗时

    Deeplin怎么安装rpm软件包

    1. 安装alien,fakeroot
    $ sudo apt-get install alien fakeroot
    
    1. 使用alien将rpm包转为deb包
    $ fakeroot alien name.rpm
    
    1. 安装包
    $ sudo dpkg -i name.deb
    

    这里为什么要使用fakeroot?
    fakeroot 可以用来模拟 root 权限, 在fakeroot环境中,操作文件就像使用root操作文件一样。但是,实际上系统中文件的权限还是原来的权限。

    Vim 复制内容到系统剪切板

    set clipboard=unnamed
    “*y  "+y
    

    遇到的问题

    1. android git配制问题
      git config --global user.email "you@example.com"
      git config --global user.name "Your Name"
      
    to set your account's default identity.
    Omit --global to set the identity only in this repository.
    
    fatal: unable to auto-detect email address (got 'Administrator@MS-201610130300.(none)')
    

    解决:Android Studio 使用git config配制环境变量

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"
    
    1. android 虚拟机启动失败
    Installation did not succeed.
    The application could not be installed: INSTALL_FAILED_INSUFFICIENT_STORAGE
    The device needs more free storage to install the application (extra space is needed in addition to APK size).s
    
    The profiler was unable to parse the trace file. Please make sure the file selected is a valid trace
    

    解决: 修改虚拟机内存的大小

    用到的命令

    $ adb shell pm list packages | grep 包名
    $ adb push 文件路径 sdcard路径
    $ adb pull sdcard路径 文件路径
    

    引用

    Android Handler机制 - MessageQueue如何处理消息

    关于CoordinatorLayout和ListView滑动冲突的解决

    CoordinatorLayout not working

    相关文章

      网友评论

          本文标题:上班第一周

          本文链接:https://www.haomeiwen.com/subject/vfqenhtx.html