- 博客(7)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 小白 C++ 入门并发疯学习路线(书单)
真人就是我自己,这是我的 C++ 学习之路总结。具体总结前,想先回答一个问题——要不要先学C,再学C++?我作为小白时疑惑过这个问题,在此给后来的小白和当年的自己一个答案。个人看法是,学习C++,就直接学习C++,不用先学C。在微软维护STL的Stephen Thomas Lavavej都说他当年学C++之前学C语言浪费了大量的时间,早知道就直接从C++开始。因此,我这篇文章基本不提C的学...
2018-09-28 21:12:45
30839
26
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android 并发/多线程 的基础与应用
本篇文章主要目的为总结 覆盖80%场景的20% Android端并发所需基础知识和应用。 Android 端应用主要使用 Java 语言开发,所以基础与 Java 的并发基础基本一样,深入了解推荐细读《Java并发编程实践》。应用部分就会掺杂 Android 的东西了。并发与线程、线程与线程不安全讨论并发其实就是在讨论多线程。 而并发这个编程主题长久地被人拎出来讨论的原因,被前人们总结...
2018-06-03 16:36:05
5467
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 恶意用户识别?——Java 层反模拟器、反Hook、反多开技巧
近两年,Android端的虚拟化技术和群控技术发展急速,带来很多好玩产品和便利工具。但是作为App开发者就头疼了,恶意用户(比如不文明用户、比如刷单)利用这些技术,作恶门槛低得不知道哪里去。我们需要思考怎么识别和防御了。 下文介绍一些简单但是有效的恶意用户识别(方便后续封号)方案。Anti 模拟器这个很容易理解,模拟出来的机器,每次模拟的时候生成的设备ID,只存在模拟器使用的生命周期...
2018-06-03 16:31:15
2665
2
原创 列表型布局套路总结
手机屏幕尺寸有限,几乎每个 app 的内容区,都会用列表呈现。不信可以打开你手机里的任意一个 app 看看,99%的 app 的内容区都能被抽象成一个大列表。只是根据内容的丰富度,列表的复杂度有所不同。内容区的结构骨架,基本上就是由列表布局奠定的。从这点看,虽然还有其他各种类型的布局,但是它们都没有列表型的布局来得重要。 总的来说,必须知道的有 如何应对多类型复杂结构、几个滚动相关的实用的特别交...
2018-06-03 16:33:53
2067
1
原创 如何检测应用通知权限?如何跳转通知权限设置页?
如何检测应用通知权限?一般情况下,Api 19 以前是没有通知管理的,默认都是开启,不用管。 Api 19 – 24 虽加入了通知管理功能,但没有开放检测是否开启了通知的接口,开发者只能用反射来获取权限值。 Api 24 以上,NotificationManager 提供了 areNotificationsEnabled()方法检测通知权限。 support 包已经考虑了以上场景,在 2...
2018-06-03 16:28:37
4914
1
原创 如何实现 “中间这几个字要加粗,但是不要太粗,比较纤细的那种粗” ?
分享一个最近做业务遇到的简单又蛮有意思的的文本显示处理过程。具体就是有这么一段文字,类似“转盘抽奖获得跑车x1,点击领取~”,用TextView显示。设计师:“能让文字加粗吗?”“可以”,然后加上了粗体属性android:textStyle=”bold”。<TextView android:id="@+id/tv_title" ...
2018-06-03 16:27:33
2842
原创 控制 LinearLayout 优先显示右边的布局,空间不足时挤压左边控件
本文是一种奇怪又常见的布局需求实现方案的记录。 具体需求长这样子:显示用户名和用户 ID整体宽度不能固定,要跟随内容变化空间不够的话优先显示ID,截取用户名过长部分显示为“…”抽象起来就是多个元素横向排列,在空间不足的小屏手机上,保证显示右边的元素,挤压左边的。怎么实现呢?好简单啊,一开始我是这样想,脑子里已经瞬间想好两个方法 —— RTL 属性, Weight 属性...
2018-06-03 16:26:06
7149
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人