移动开发

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

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

Android EditText更改软键盘enter键

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

Swift Protocol

- 用于通信 一个简单的例子: 比如你封装了一个View, 需要回调出去一个按钮事件 class TestView: UIView { // 注意这里要使用weak标记 weak var delegate: TestViewProtocol? fileprivate lazy var iEnterBtn: UIButton = { let btn

前端开发中常用的10个小技巧,助你写出高逼格代码

1. 有条件地向对象、数组添加属性 1) 向对象添加属性 可以使用展开运算符来有条件地向对象中添加属性: const condition = true; const person = { id: 1, name: "dby", ...(condition && { age: 12 }), }; 如果 condition 为 true ,则 { age: 16 }

mybatis分页

一、sql语句分页: 在mapper.xml文件添加sql语句 <select id="getEmpByLimit" parameterType="map" resultType="Emp"> select * from emp order by empno limit #{startIndex},#{pageSize} </select> 在接口中添加方法:

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

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

iOS 开发随笔 (Xcode 13 + iOS 15兼容)

URL Scheme     通过 Xcode13 运行的APP,在 iOS15 系统上会限制 info.plist 的 scheme 白名单个数为 50 个 UITableView sectionHeaderTopPadding     使用 UITableViewStylePlain 初始化 UITableView 的时候,会发现 section header 多出了一截,默认顶部边距为22p

Retrofit的原理解析

前言 上篇文章我们分析了OkHttp的原理,不难看出它更多的还是和TCP/IP打交道,做了请求和响应的处理,今天我们来介绍另外一位主人公,那就是我们的Retrofit,它更多的是对OkHttp做了一层封装,方便了我们调用接口,并且对数据进行了转化,对业务侧更加友好。 首先我们来看看它的初始化,慢慢剖析它的源码吧。 Retrofit retrofit = new Retrofit.B

12.类的关系——继承关系

1、继承关系 1.1 继承的概念 ·继承机制是面向对象程序设计不可缺少的关键概念,是实现代码可重用的根基,是提高软件系统的可拓展性与可维护性的主要途径。 ·所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,子类能吸收已有类的属性和行为,并能拓展新的能力。 形式:【访问权限修饰符】【修饰符】子类名 extends 父类名{子类体} 例: //类:图形 pu

iOS DispatchSourceTimer 定时器

1. 概述 说起计时器,很多开发人员第一时间就会想起Timer,但是随着使用的深入,慢慢就发现Timer其实不是很好用,比如说TableView滑动时候不执行,Timer循环引用。 2. DispatchSourceTimer DispatchSourceTimer,也就是大家通常叫的GCD Timer,是依赖于GCD的一种Timer,Runloop的底层代码中也用到这种Timer,可见GCD T