移动开发

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

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

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

Android Jetpack架构组件(十)— StartUp

一、StartUp简介 应用程序启动库提供了一种在应用程序启动时初始化组件的简单、高效的方法。库开发人员和应用程序开发人员都可以使用StartUp来简化启动序列并显式设置初始化顺序。 StartUp允许您定义共享单个内容提供程序的组件初始化程序,而不是为每个需要初始化的组件定义单独的content provider。这可以显著缩短应用程序启动时间。 简单的说就是通过一个公共的content pro

第十一章 路由器OSPF动态路由配置

实验目标 掌握OSPF协议的配置方法 掌握查看通过动态路由协议OSPF学习产生的路由 熟悉广域网线缆的链接方式 实验背景 校园网通过三层交换机连接到校园网出口路由器上,路由器在和校外的另一台路由器链接,做适当配置是内外主机可以通信,为简化工作,采用OSPF协议互通 技术原理 ospf开放式最短路径优先协议,是目前网络中最广泛的路由协议之一,属于内部网管路由协议,能够适应各种规模的网络环境

12.《JavaEE 学习笔记》自定义标签库

参考链接: 1、定义 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。 JSP标签扩展可以让你创建新的标签并且可以

Kotlin 监听键盘显示隐藏

最近碰上了需要监听键盘显示和隐藏,在Kotlin场景下封装了一个扩展方法,方便日后使用。 Android系统本身并没有提供有效的方法可以监听键盘的显示和隐藏,常用的监听方法莫过于屏幕的可见区域高度,当高度变化超过一定值,一般认为是超过200像素,就说明有键盘的显示和隐藏操作。 fun Activity.observeKeyboardChange(onChange: (isShowing: Bool

C++ Primer Plus习题及答案-第十二章

习题选自:C++ Primer Plus(第六版) 内容仅供参考,如有错误,欢迎指正 ! c++使用new和delete运算符来动态控制内存。 对于静态成员,要在类声明之外使用单独语句进行初始化,因为静态类成员函数是单独存储的,而不是对象的组成部分,而且初始化是在方法文件中,而不是在头文件中,这是因为类声明位于头文件中,程序可能将头文件包括在其他几个文件中,如果在头文件中初始化,将出现多个