- 博客(19)
- 收藏
- 关注
原创 C++数据结构和算法2 栈 双端 队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划_双端合并 算法(1)
博文末尾支持二维码赞赏哦 _github3.2 队列Queue3.3 双端队列 Double Queue 双向节点构成可以从两端进行插入和删除操作章4 排序算法 arranging 冒泡选择插入归并快排 ========4.1 冒泡 Bubble4.2 选择 Selection4.3 插入 Insert 排序,打牌4.4 归并 Merge 先将序列依次二分,构建左右两个有序序列,最后合并在一起https://github.com/Ewenwan/CPP-Data-S
2024-09-22 16:57:24
1475
原创 Android面试你必须要知道的那些知识,面试资料分享
整理自己已经掌握的知识点和需要了解深入的知识点,再去拓展自己的知识面,而不是盲目无方向的学习,什么’‘火’‘什么’‘热’'就去跟风学习什么技术,现在大前端很热,就放弃原生去学习跨平台,其实**跨平台,flutter开发的定位,都不是替代原生,而是在原生开发上拓展技能和能力。**学习需要的所有知识点的思维导图。某聪如果说要选择安逸的生活,他可以很安逸,因为他有了安逸的资本,而大部分的你,并没有这个资本,你如果过早的选择了安逸的生活,那么结局往往会很悲惨,而你能做的,最多也就是让你的后代有选择安逸的资本。
2024-09-22 16:15:50
347
原创 C++从入门到精通(第三篇) :C++的基础和灵魂(1)
Date(int year = 1900, int month = 1, int day = 1)//全缺省构造函数。Date(int year = 1900, int month = 1, int day = 1)//构造函数。// 这里d2调用的默认拷贝构造完成拷贝,d2和d1的值也是一样的。SeqList(int capacity = 10)//构造函数。Date(const Date& d)//拷贝构造函函数。= &d)//避免对象赋值自己。//调用拷贝构造函数。~SeqList()//析构函数。
2024-09-22 15:53:29
1021
原创 Android进阶之路 - 开机自启动
方法一:点击「设置」-> 找到并点击「应用管理」-> 找到触动精灵点击「权限」-> 点击「设置单项权限」-> 点击开启「应用自动自动」打开手机设置 -> 滑到底部找到「应用管理」-> 找到并点击「触动精灵」-> 点击「权限管理」-> 打开「自启动」开关。方法二:点击「手机管家」-> 点击「权限管理」-> 找到触动精灵点击「设置单项权限」-> 点击开启「应用自动启动」打开「安全中心」-> 点击「应用管理」-> 点击「权限」-> 点击「自启动管理」-> 找到「触动精灵」启动开关。
2024-09-22 15:29:26
576
原创 C++中 Map的了解与基本用法(代码演示+自我总结+map中一对多的用法)
value_comp() 返回比较元素value的函数三:map常用函数的代码演示。
2024-09-22 15:18:34
1178
原创 C++11:std thread创建和管理线程
成员函数 detach():将线程与 std::thread 对象分离,使得线程可以独立执行,不再与 std::thread 对象关联。成员函数 joinable():判断线程是否可以被 join() 或 detach()。构造函数:std::thread 的构造函数可以接受一个可调用对象(函数、函数指针、成员函数、lambda 表达式等)和其参数,用于创建一个新的线程。调用 join() 后,当前线程会被阻塞,直到被调用的线程执行完毕。静态函数 yield():将当前线程让出 CPU,允许其他线程执行。
2024-09-22 14:39:45
231
原创 Android触摸屏事件派发机制详解与源码分析一(View篇)
可以发现,如上打印完全符合源码分析结果,dispatchTouchEvent方法先派发down事件,完事调运onTouch,完事调运onTouchEvent返回true,同时dispatchTouchEvent返回true,然后dispatchTouchEvent继续派发move或者up事件,循环,直到onTouchEvent处理up事件时调运onClick事件,完事返回true,同时dispatchTouchEvent返回true;如上代码很简单,但凡学过几天Android的人都能看懂吧。
2024-09-22 14:35:24
879
原创 Android程序员想进大厂?算法很重要!2024年必学的 10 大算法关注一下
这十分有用,因为我们可以把一个规则应用于 logistic 函数的输出,从而得到 0-1 区间内的捕捉值(例如,将阈值设置为 0.5,则如果函数值小于 0.5,则输出值为 1),并预测类别的值。对新数据点的预测结果是通过在整个训练集上搜索与该数据点最相似的 K 个实例(近邻)并且总结这 K 个实例的输出变量而得出的。而对于分类问题来说,预测结果可能是众数(或最常见的)的类的值。你需要在数据中取出大量的样本,计算均值,然后对每次取样计算出的均值再取平均,从而得到对所有数据的真实均值更好的估计。
2024-09-22 13:01:26
985
原创 C C++ 动态内存管理(内存是如何分布的?malloc new,free delete的用法是什么?区别是什么?
*申请空间时:**malloc只开空间,new既开空间又调用构造函数初始化。释放空间时:delete会调用析构函数,free不会class Testpublic://构造函数Test(int x = 1):_day(x) //初始化列表// 析构函数~Test()private:int _day;// 申请单个Test类型的空间// 申请10个Test类型的空间free(p1);free(p2);Test1();return 0;。
2024-09-22 11:28:26
772
原创 android性能优化全方面解析
第二:吃完之后把碗筷放到收盘处直接进行回收。但我们是个有素质的人,一般采用第二种情况,但根据想法,我们更倾向于第一种。那么一般在饭店或者KFC中,都是第一种情况。那么此时,问题来了,如果我已经吃完饭,然后我并没有离开饭店,做在位置上和朋友吹吹牛逼,谈谈理想,聊聊人生。那么桌上那一堆碗筷是收还是不收?讲道理是不能收的。虽然实际也是不能收的。因为顾客是上帝~~~So,我们如何判断一个对象是一个可回收的垃圾对象呢?这是我们的一个主观的判断。
2024-09-22 10:24:55
1406
原创 Android平台第三方SDK会采集用户的那些隐私数据及具体实现代码
【代码】Android平台第三方SDK会采集用户的那些隐私数据及具体实现代码。
2024-09-22 07:44:11
702
原创 Android之线程池深度剖析
2)下面是一个模拟ThreadPoolExecutor的例子,以加深对原理的理解。1)JDK自身带有线程池的实现类ThreadPoolExecutor。
2024-09-22 05:09:54
219
原创 Android-底部导航栏(底部Tab)最佳实践,用过的都说香!_android 底部tab
/接下来,我们看一下效果:运行之后,效果如上图,What?图标这么小?图标和文字之间的间距这么宽?这当然不是我们想要的,试着用TabLayout的属性调整呢?TabLayout 提供了设置Tab 图标、tab 文字颜色,选中颜色,文字大小的属性,但是很遗憾,图标Icon和图标与文字之间的间距是没办法调整的。那么就没有办法了吗?在仔细查了一下TabLayout的API 后,找到了一个方法,Tab 中有一个。
2024-09-22 02:33:28
1414
原创 Android 申请权限结果返回处理
/用户拒绝一次权限后,再次申请时检测到已经申请过一次该权限了,允许开发者弹窗说明申请权限的目的,获取用户的同意后再申请权限,避免用户勾选不再提示,导致不能再次申请权限。//RxPermission权限申请。
2024-09-21 23:59:03
396
原创 Android 原生和 JS 交互实践
/ 约定的 url 协议为:js://webview?// 例如:url = “js://webview?// 例如:url = “js://webview?// 拦截url,下面JS开始调用Android需要的方法。// 拦截url,下面JS开始调用Android需要的方法。// 如果url的协议 = 预先约定的 js 协议。// 如果url的协议 = 预先约定的 js 协议。// JS 调用 Android 的方法。// 执行JS所需要调用的逻辑。// 执行JS所需要调用的逻辑。
2024-09-21 21:22:03
683
原创 Android Navigation + Fragment 制作APP主页面导航(步骤 + 源码)(1)
可能这里你会比较陌生,这里的id,等下要在MainActivity中指明的,这里的name指明的是androidx.navigation.fragment.NavHostFragment,这个属性就表明这个fragment指明的就是NavHost,然后它还要添加需要显示的子Fragment,那么就通过navGraph来绑定这个导航图,之前导航图里面不是就有五个Fragment吗?默认就是false,可以不加。上面的也很简单,id表示它在导航图的标识,name指明这个Fragment的路径,包名+类名。
2024-09-21 18:47:17
1050
原创 Android 9(5)
开发者可以调用 Dynamics Processing API 对音频进行动态处理,通过分离出特定频率的声音,降低过大的音量,或者增强过小的音量,来改善应用的音频质量。比如说,即便说话者声音小,离麦克风远,而且外界环境十分嘈杂,您的应用依然可以有效捕捉并他/她的声音,并进行相应优化。当应用的 UID 空闲时,麦克风将会报告 “无音频信号”,传感器将会停止报告事件,应用使用的摄像头也会断开连接,并在应用试图访问时生成错误。我们扩展了 ART 对执行特征的使用,以优化应用并减少已编译应用代码的内存占用量。
2024-09-21 15:17:26
1363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人