码农弟弟
码农弟弟
通常以宽度为准啊 asIphone5Width asIphone6Width asIphone6PWidth asIphoneXWidth 这样会不会更语义化一些呢
w320() w375() w414() 也是不错的, asIphone5Width配合上代码换行 并不会又臭又长, 写代码可以不写注释,尽量要让代码的可读性增强.
这块改善了吗
后来我理解了maxCrossAxisExtent,但是我还是希望这段凭空而来的 4和3 能说清楚
缓存穿透是指 在 redis缓存中 不存在, 同时数据库也不存在的情况, 一旦被黑客利用了, 通过频繁请求 击垮数据库 做法是加 redis和mysql之间加过滤器 在应用启动的时候 用布隆过滤器 将数据库中的值(如id)加载起来放在布隆过滤器中 布隆过滤器 有一定的误差 能判断出这个数据 一定在数据库中, 不能 判断这个数据一定不在数据库中, 他比set好处是 节约更多内存 以为他不是将数据完整的存下, 而是通过多次hash 标志某个位为1,有更高的效率
成员变量:生命周期伴随类对象,类对象回收时回收 存在堆里 静态变量:不回收 在方法区 随着类的加载而加载,随着类的消失而消失,由于类需要非常长时间的不使用,不利用,不关联,才有可能会被回收机制回收, 所以静态成员变量的生命周期特别长,除非是共享数据,否则不建议使用静态; 局部变量:方法调用时创建 方法结束时被标记为可回收 存在栈里
所有的asyctask 共享 两个线程池 一个用来排队 一个用来执行任务 asyctask中的任务默认是串行的,但是可以通过配置实现 并行 默认串行导致一个问题 asyctask只能用来处理 短暂的任务 非常耗时的任务请使用线程池,否则会过长等待
binder机制 是一种 android 进程通信机制 通信过程 由 client server serviceManager binder驱动组成 首先 所有的server都会在 serviceManager 中注册 client 访问 server时 要向 serviceManager 发起请求, serviceManager 找到 这个 server 并通过 binder驱动 生成一个 server代理 返回给client client得到了...
i need rich 👍
same problem ,same version