移动开发

08. 特性修饰符——final

1、final定义: ·final用于声明属性,方法,形参和类 **(1)属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改。** public class Demo { //final修饰属性必须要赋初值 public final int a = 1; public final int b ; public Demo() {

Mac上安装和配置adb学习总结

1、安装:命令行安装brew install android-platform-tools2、adb 的工作原理 adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件: 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从

国产APP臃肿:微信从百十K到几百兆,聊天代码只0.1%

国产APP越来越臃肿,这是不争的事实。大家都感同身受。虽然现在手机运存内存都在越来越大,可是手机APP也跟着变大,而且比手机增速更快。比如微信APP就很典型。 B站一大神逆向了微信APP安装包,发现基本的聊天功能代码只有0.1%,而别的,都是其他功能。不管是TX带的头,还是别的起的示范,总之,国产APP微信,恨不能把所有功能集成进去,把自己成为系统的野心塞到用户手机里。 不知道这种情况会到什么时候

iOS动画 —— 自定义View

创建路径 1.使用CGContextRef创建,如CGContextAddArc 这种方式是直接对图形上下文进行操作,常用的方法有: 之前的讲解文章:# CGContextBeginPath //开始画路径 CGContextMoveToPoint //移动到某一点 CGContexAddLineToPoint //画直线 CGContexAddCurveToPoint /

iOS 底层原理39:Instruments系列(五)Leaks

iOS 底层原理 文章汇总 引言 iOS 5.0之后apple引入了Xcode编译器特性ARC(Automatic Reference Counting,自动引用计数)来帮助开发者管理内存,但为了追求app的高性能与减少安装包大小,工作中很多时候需要我们手动管理内存。再牛的开发者也不能保证自己写的code 100%没有内存泄露,出现内存泄露不可怕,可怕的是我们时间与精力花了大把,但内存泄露依旧

Android EditText更改软键盘enter键

单独设置 imeOptions 不生效,需加上行数限制与输入类型,原因不知 android:maxLines="1" android:inputType="text" android:imeOptions="actionSearch" 设置多行 分享一:android EditText 单行显示并且设置imeOptions很简单,条件是在xml中将singleLine设置为true, 将

iOS ~ Apple ID 登录APP

【官网:通过 Apple 登录,让登录变得轻松简单。】 【iOS 苹果授权登录(Sign in with Apple)系列之原生篇】 前言 2019年苹果推出 苹果登录(Sign in with Apple)方式,要求2020年4月之后APP如果使用第三方或社交登录服务(如 Facebook、谷歌、 Twitter、Linkedln或亚马逊等),必须向用户提供“以苹果账号登录”服务的选项。 如果满

Android debug包运行正常,release包崩溃 解决办法

1. 添加配置调试release包,这样的抓取的log日志,这种方式可以知道具体错误,(无法精准到是哪一行) /在 AndroidManifest.xml 文件的 application 标签中 添加以下配置,即可在release包下的日志了/ android:debuggable="true" tools:ignore="HardcodedDebugMode" 2.debu

Android卡顿优化工具

线上监控的方案 1、BlockCanary 从Choregrapher中可以知道,帧的渲染是通过消息发送到主线程执行的。所以通过在计算msg的处理时间就可以判定是否发生卡顿。 Looper.java public static void loop() { ... for (;;) { ... // This must be in a local va

显示框架之app与SurfaceFlinger通信

SurfaceFlinger是android显示的核心进程,在整个显示框架中起到一个承上启下的作用,“承上”指的是与app进程间的通信,“启下”指的是与Composer进程的通信。Surfaceflinger本身不进行绘制,是app数据上屏的中枢通路,先来看下SurfaceFlinger在整个显示流程中的位置。 显示流程图.png 从显示流程图看可知,SurfaceFlinger位