iOS13.0版本以上新建UIWindow显示UIAlertController遇到的问题以及解决方式
在iOS中想在不依赖任何ViewController的情况下显示UIAlertController,在适配iOS13之前的写法是如下: public func hhShowViewController(_ animated:Bool,completion: (() -> Void)?) { let popWind…
阅读全文 »已阅读 1,712 次在iOS中想在不依赖任何ViewController的情况下显示UIAlertController,在适配iOS13之前的写法是如下: public func hhShowViewController(_ animated:Bool,completion: (() -> Void)?) { let popWind…
阅读全文 »已阅读 1,712 次//MARK: – 查找顶层控制器、 /// 获取顶层控制器 根据window func getTopVC() -> (UIViewController?) { var window = UIApplication.shared.keyWindow //是否为当前显示的window if window?.wind…
阅读全文 »已阅读 372 次1. Monkey的使用 Monkey是在模拟器或设备环境中运行,因此必须通过shell来启动,可在每个命令前加adb shell或这是进入shell后然后再使用monkey命令。 1.1 Monkey的典型使用 adb shell monkey -p your.package.name -v 500 以上命令参数说明…
阅读全文 »已阅读 626 次package com.test.widget; import android.content.Context; import android.util.AttributeSet; import android.widget.ScrollView; import com.qmuiteam.qmui.util.QMUID…
阅读全文 »已阅读 106 次在开发的过程中往往好多第三方库引用了很多我们根本用不到的库,但我们又没有办法去配置清单中手动清除,那么我们可以采用以下方式去排除或者叫删除一下这个权限: <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” tools:…
阅读全文 »已阅读 369 次val typeFilter = InputFilter { source, start, end, dest, dstart, dend -> val p = Pattern.compile(“[a-zA-Z|\u4e00-\u9fa5]+”) val m = p.matcher(source.toString…
阅读全文 »已阅读 220 次在 AndroidManifest.xml 中加入 android:requestLegacyExternalStorage=”true” 就可以解决,如下 <application android:name=”.App” android:allowBackup=”true” androi…
阅读全文 »已阅读 703 次在日常开发中我们往往会遇到这样的需求,就是有两个List需要我们去重并合并,那么我们来研究一下基础类型List的这种操作应该如何实现。有很多种方法我们来研究一下。 比如说我们要处理如下两个列表的合并 List listA = new ArrayList(); listA.add(“a”); listA.add(“b”)…
阅读全文 »已阅读 401 次今天写一个东西发现需要设置Toolbar的左侧返回按钮的事件,然后用了如下写法发现并不生效。 mToolbar.setNavigationOnClickListener(v -> { if (mWebView.canGoBack()) { mWebView.goBack(); return; } finish()…
阅读全文 »已阅读 563 次protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); textView = (TextView) findViewB…
阅读全文 »已阅读 248 次在build.gradle文件添加引用 debugImplementation ‘com.squareup.leakcanary:leakcanary-android:1.6.3’ releaseImplementation ‘com.squareup.leakcanary:leakcanary-android-no-…
阅读全文 »已阅读 346 次在我们iOS日常的开发过程中会遇到各种各样的内存泄漏问题,这个问题表面可能看起来并不严重,但实际有很大的弊端,会造成过多内存的使用不会被回收,所有今天我来总结一下我遇到过的内存泄漏的问题以及我查找的思路。 ###下面我就来总结一下常见内存泄漏出现的地方。 在使用Timer造成的内存泄漏 相信我们在做开发过程会时不时用到…
阅读全文 »已阅读 307 次最近在做项目的时候发现做的视频通话功能在有音乐播放的时候进入通话中或播放铃声的时候会出现声音同时叠加播放的情况,也就是音乐在进入播放铃声或这通话的时候并没有正常暂停,于是就研究了一下Android上音频焦点的管理部分,现在来总结一下。 其实在很多种场景都是这样的,比如平日我们用手机在使用某家的音乐播放器听音乐,然后突然…
阅读全文 »已阅读 472 次import java.util.concurrent.TimeUnit // Log timings per task. class TimingsListener implements TaskExecutionListener, BuildListener { private long startTime pri…
阅读全文 »已阅读 167 次今天在开始学习flutter的过程中安装环境遇到CocoaPods installed but not initialized.这个问题。如下: Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel dev, v…
阅读全文 »已阅读 1,802 次今天遇到了git clone github项目很慢的情况,如下 git clone https://github.com/CocoaPods/Specs.git master 于是从网上各种查找资料,发现如果在hosts文件中指定现有github服务的IP地址就可以做到加速。于是开始了操作。 首先先查找IP地址 nsl…
阅读全文 »已阅读 674 次最近两天在修改一个项目中出现的bug,就是有一个搜索界面的SearchBar下做了一个搜索历史的列表展示,在不是带刘海屏的手机上显示一切ok,但遗憾的是在刘海屏上搜索列表就会被遮挡一部分,当然这个搜索历史View的位置是用frame直接写的,于是我就各种试,用自动布局写了些发现问题很大到最后都没发现问题为啥会出现,于是…
阅读全文 »已阅读 381 次在使用UISearchController的过程中遇到了很多问题,踩过了很多坑,现在记录并总结一下。 1. 第一个问题就是sectionIndex和Searchbar的冲突 searchBar加到tableView的headerView上,然后为tableView添加sectionIndex,问题就出来了,因为sect…
阅读全文 »已阅读 561 次单例模式就是涉及到但一个的一个类,自己给自己提供单一的一个访问方式,并只创建一个该类的实例。 使用场景 比如说我们需要记录一套并且只有一套数据,具体来举例比如需要记录一场比赛的分数,可以通过单例模式存储不同队员的分值,分值会在单例中单一记录,不会重现重复记录。 总之来说单例就是为了实现同一运行实例的独立记录方式,同一个…
阅读全文 »已阅读 228 次