Ubuntu下android-studio同步踩坑
Ubuntu下android studio同步踩坑1. 安装shadowsocks : https://blog.csdn.net/A807296772/article/details/801128712. shadowsocks配置
打开客户端
根据购买的账号和密码和服务器地址配置:
注意,本地服务器类型不能选择socks5,而是选择第二个HTTP(S),否则android studio的gradle无法走代理。
3. 配置本地代理
不要配成socks主机,就配HTTP代理和HTTPS代理。
4. 配置Android studio代理
完成。折腾了接近半天。
2018-09-03
操作系统
ubuntu--下的android-studio的真机调试
ubuntu 下的android studio的真机调试
直接连真机一般都是连不上adb的。
1. 找出真机的硬件id# 列出当前链接的设备
$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2018-09-02
操作系统
requestLayout()引起的问题
requestLayout()引起的问题
网上有大量写的很深入的requestLayout()源码分析的文章。故这里不再写了,只做一个实际情况下遇到的问题的分析。
起因:
自定义了一个CircleImageView,功能是调用setImage(Bitmap bitmap)后可以将图片以圆形加载。
本以为直接在setImage(Bitmap)的结尾直接调用requestLayout()即可。
这里从两个方面写:
xml中定义为wrap_content当LayoutParams是wrap_content时,我处理的逻辑是:在onMeasure()中根据宽高的MeasureSpec是否等于Meas
2018-08-31
View
ThreadLocal
ThreadLocal
ThreadLocal是一个线程独立存储类,通过他的get和set方法,在不同的线程中,可以独立地存取不同的value。
每次回顾Looper源码的时候,都会忘了ThreadLocal是如何实现和工作的,故这次记录下来。
[TOC]
工作原理图
ThreadLocal中的ThreadLocalMap
首先观察ThreadLocal的结构,有两个静态内部类,其中第二个ThreadLocalMap是他工作原理的最重要的类。
此时点开Thread类源码:
/* ThreadLocal values pertaining to this thread. This map is
2018-08-16
Java
AppCompatActivity和Fragment如何通过Lifecycle将生命周期状态转发出去
关于android的Lifecycle是什么和怎么用就不说了,这篇写的很好了:
Android官方架构组件:Lifecycle详解&原理分析
概述
概述:Lifecycle方案其实就是把AppCompatActivity和Fragment(support包下的)的声名周期回调转发出去,本质上是基于一个观察者模式,将观察者注册到有生命周期的组件,然后有生命周期的组件在他们的生命周期回调时,把事件转发给每一个观察者,这样观察者就收到了AppCompatActivity或Fragment的生命周期回调,也就具有了生命周期感知能力。
需要了解:
Lifecycle是什么和怎么用
创建一个
2018-08-10
Android
Service是单例
stackoverflow上的3个问题解答了我的疑惑:Android: When to use Service vs Singleton?Android service isn’t working as a singletonDoes startService() create a new Service instance or using the existing one?
结论:
当多次startService去启动Service,若Service对象存在,就只调用onStartCommand,若Service对象不存在,创建Service对象。
服务时天然的单例模式,且可以被销毁。
2018-08-09
Android