Topwo博客
首页
博客
项目
Android终止线程的方法
Android
2023-01-17
线程对象属于一次性消耗品,一般线程执行完run方法之后,线程就正常结束了,线程结束之后就报废了,不能再次start,只能新建一个线程对象。但有时run方法是永远不会结束的。例如在程序中使用线程进行Socket监听请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。当需要结束线程时,如何退出线程呢? 有三种方法可以结束线程: 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止 2. 使用interrupt()方法中断线程 3. 使用stop方法强行终止线程(不推荐使用,可能发生不可预料的结果) 前两种方法都可以实现线程的正常退出,也就是要谈的优雅结束线程;第3种方法相当于电脑断电关机一样,是不安全的方法。
阅读原文>>
基于nodejs实现一台服务器多个https域名
JavaScript
2022-11-05
### 本例将实现:nodejs ssl 多域名,即,基于nodejs实现一台服务器多个https域名。 很多情况下,一台服务器只能实现一个https网站,因为ssl是绑定服务器IP的,这是历史的原因造成的。 目前IIS6等服务器软件依然只能实现一台服务器绑定一个域名证书。 接下来,展示如何用nodejs实现一台服务器绑定多个SSL证书,实现一台服务器运行多个https网站。 1、nodejs实现web服务是很简单的,这里不再赘述,比如通过http、express组件,都可以轻松实现。 2、支持ssl,实现一个https网站也很容易,https、express也都可以实现。 3、但要实现一个web支持多个https(SSL),不同的域名对应不同的SSL证书,就不那么容易了。需要用到SNI(Server Name Indication)技术。
阅读原文>>
IDEA 老版本历史版本下载地址
Java
2022-10-13
## 记录一下IDEA的老版本下载地址 [https://www.jetbrains.com/idea/download/other.html](https://www.jetbrains.com/idea/download/other.html)
阅读原文>>
billingclient:billing:2.0.3官方封装demo实例
Android
2022-09-02
```java import android.app.Activity; import android.util.Log; import androidx.annotation.Nullable; import com.android.billingclient.api.BillingClient; import com.android.billingclient.api.BillingClientStateListener; import com.android.billingclient.api.BillingFlowParams; import com.android.billingclient.api.BillingResult;
阅读原文>>
smali函数分析
Android
2022-09-02
## 一.函数调用 smali中的函数和成员变量也分为两种,分别为 direct 和 virtual 两者的区别 1.direct method 是指private函数 2.virtual method 是指 protected和 public 函数 3.所以在调用函数时,有invoke-direct,invoke-virtual,另外还有invoke-static、invoke-super以及invoke-interface等几种不同的指令。
阅读原文>>
手游敏感权限说明
Android
2022-07-29
## 敏感权限须知 [工业和信息化部关于开展纵深推进APP侵害用户权益专项整治行动的通知](https://www.miit.gov.cn/jgsj/xgj/wjfb/art/2020/art_734cee9fd3024b9bb37226a344b432b5.html) a. 禁止超范围获取收集敏感信息。 b. 禁止不给权限就不能用的情况。 c. 所有权限必须声明获取的权限内容和使用目的。然后再申请获取。 d. 禁止自启动或关联启动(通过其他app在后台静默启动) e. 敏感权限暂定为:日历,相机,联系人,位置,麦克风,手机,传感器,短信,存储卡权限 f. 所有游戏需按照要求进行整改,未整改私自获取权限的一切损失(包括但不限于行政处罚、罚款、游戏强制下架、损失等),由厂商承担。 g. 上线游戏将对游戏进行权限获取审核.
阅读原文>>
NDK_DEBUG宏的使用
Android
2022-07-15
### Application.mk中添加,注意-D是定义宏,后面跟上宏的名字 ``` ifeq ($(NDK_DEBUG), 1) APP_CFLAGS += -DTOPWO_DEBUG=1 APP_CPPFLAGS += -DTOPWO_DEBUG=1 endif ``` ### c/c++代码中使用 ```c
阅读原文>>
position属性详解
其他
2022-06-02
### 定义和用法 position 属性规定元素的定位类型,默认值:static。 ### 说明 这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。 ### 可能的值 #### 1. absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
阅读原文>>
display属性详解
其他
2022-06-02
> 根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型。 > 每一个元素都有默认的display属性值,比如: > `div元素,它的默认display属性值为“block”,称为块元素;` > `span元素,它的默认display属性值为“inline”,称为“行内”元素。` > 块元素与行元素是可以转换的,也就是说display的属性值可以由我们来改变。 ## 1. block是以块状元素的方式显示 ```css display: block; 块状元素会单独占据一样,其他元素跟他在同一行的会被迫换行,挤到下一行那里去
阅读原文>>
谷歌三件套各版本下载地址
Android
2022-05-18
# 1. 安装google服务框架 [google服务框架下载地址](https://apkpure.com/cn/google-services-framework/com.google.android.gsf/versions) # 2. 安装google play service [google play service下载地址](https://apkpure.com/cn/google-play-services/com.google.android.gms/versions) # 3. 安装google play store [google play store下载地址](https://apkpure.com/cn/google-play-store/com.android.vending/versions)
阅读原文>>
首页
上一页
15
下一页
尾页
文章推荐
Android终止线程的方法
2023-01-17
基于nodejs实现一台服务器多个https域名
2022-11-05
IDEA 老版本历史版本下载地址
2022-10-13
billingclient:billing:2.0.3官方封装demo实例
2022-09-02
smali函数分析
2022-09-02