Android多线程操作,as快捷键笔记
Android studio 快捷键
cmd+p 快速查看该方法的参数定义
*
* option + shift +上下 快速移动上下行
*
* cmd + e 显示最近操作的文件
*
* cmd + option +左右 回到之前浏览过的地方
* option + shift +点击 多光标操作
* control +g 多重选择
* f3 添加书签
* cmd +f3 查看书签
*
* cmd + y 在当前页面预览代码
* cmd + option + t 对某行代码进行重构,例如增加if 语句
*
* option + enter 快速提示
多线程操作不要显式调用Thread,使用AsyncTask或者ThreadPoolExecutor
//执行task
// new DownLoadTask().execute(); class DownLoadTask extends AsyncTask<Void,Integer,Boolean>{ @Override
protected void onPreExecute() {
super.onPreExecute();
} @Override
protected Boolean doInBackground(Void... voids) {
//后台处理返回处理结果
//更新处理进度
publishProgress(11);
return null;
} @Override
protected void onProgressUpdate(Integer... values) {
//进度处理
} @Override
protected void onPostExecute(Boolean aBoolean) {
//结果处理
}
}private void userThreadPoolExecutor(){
int NUMBER_CORES = Runtime.getRuntime().availableProcessors();
int keep_alive = ; BlockingQueue que = new LinkedBlockingDeque();//队列,这里面的任务可以放入int的max个 ArrayBlockingQueue arrque = new ArrayBlockingQueue();//只放入两个任务
//
ThreadPoolExecutor executor = new ThreadPoolExecutor(,,keep_alive,
TimeUnit.SECONDS,arrque,new NameTreadFactory(),new MyIgnorePolicy()); for (int i = ;i < ;i++){
executor.execute(new MyRunable(""+i));
} }
static class NameTreadFactory implements ThreadFactory { private final AtomicInteger mThreadNum = new AtomicInteger(); @Override
public Thread newThread(Runnable r) {
Thread t = new Thread(r, "my-thread-" + mThreadNum.getAndIncrement());
System.out.println(t.getName() + " has been created");
return t;
}
}
public static class MyIgnorePolicy implements RejectedExecutionHandler { public void rejectedExecution(Runnable r, ThreadPoolExecutor e) {
doLog(r, e);
} private void doLog(Runnable r, ThreadPoolExecutor e) {
// 可做日志记录等
Log.d("tag",r.toString() + " rejected");
// System.out.println("completedTaskCount: " + e.getCompletedTaskCount());
}
}
class MyRunable implements Runnable {
private String name; public MyRunable(String name){
this.name = name;
} @Override
public void run() {
try {
System.out.println(this.toString() + " is running!");
Thread.sleep(); //让任务执行慢点
} catch (Exception e) {
e.printStackTrace();
}
} public String getName() {
return name;
} @Override
public String toString() {
return "My task---[name==="+name+" ]";
}
}
Android多线程操作,as快捷键笔记的更多相关文章
- Android多线程源码学习笔记一:handler、looper、message、messageQueue
最近在学习Android多线程相关知识的源码,现在把自己的笔记整理一下,写出来加深印象. Android多线程通讯的核心是handler.looper.message.messageQueue,这篇文 ...
- Android多线程操作sqlite(Sqlite解决database locked问题)
参考http://blog.csdn.net/sdsxleon/article/details/18259973 很好 https://github.com/2point0/Android-Data ...
- Android多线程操作sqlite(Sqlite解决database locked问题)(2)使用事务处理的效果
问题场景描述: 在页面中用到了ViewPager控件,ViewPager中的内容分别是两个ListView,两个ListView的数据都来自本地数据库(先从网络下载数据,然后更新本地数据库),在实际的 ...
- android 多线程
本章讲述在android开发中,多线程的应用.多线程能够处理耗时的操作并优化程序的性能.本章主要介绍知识点,AsyncTask,Java线程池,ThreadPoolExecutor线程池类.本章案例只 ...
- Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- Android(java)学习笔记216:多线程断点下载的原理(Android实现)
之前在Android(java)学习笔记215中,我们从JavaSE的角度去实现了多线程断点下载,下面从Android角度实现这个断点下载: 1.新建一个Android工程: (1)其中我们先实现布局 ...
- Android(java)学习笔记110:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- Android(java)学习笔记159:多线程断点下载的原理(Android实现)
之前在Android(java)学习笔记215中,我们从JavaSE的角度去实现了多线程断点下载,下面从Android角度实现这个断点下载: 1. 新建一个Android工程: (1)其中我们先实现布 ...
- 笔记||Pyhthon3进阶之多线程操作共享数据
# 多线程操作共享数据--------------------------------------------------------------- # import threading# 使用锁# ...
随机推荐
- C#中将xml文件反序列化为实例时采用基类还是派生类的问题
基类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...
- Xamarin图表开发基础教程(10)OxyPlot框架支持的图表类型
Xamarin图表开发基础教程(10)OxyPlot框架支持的图表类型 OxyPlot组件支持26种图表,这些图表按照功能和样式可以分为4大类,分别为线型图表.条型图表.金融图表和其它图表. 线型图表 ...
- [转]css3自适应布局单位vw,vh你知道多少?
原文地址:https://www.cnblogs.com/luxiaoxing/p/7544375.html 视口单位(Viewport units) 什么是视口? 在PC端,视口指的是在PC端,指的 ...
- @MatrixVariable的使用
@MatrixVariable的使用 博客分类: J2EE 在Spring3.2 后,一个@MatrixVariable出现了,这个注解的出现拓展了URL请求地址的功能. Matrix Varia ...
- Python之schedule用法,类似linux下的crontab
# -*- coding: utf-8 -*- # author:baoshan import schedule import time def job(): print("I'm work ...
- LinQ中合并、连接、相交、与非查询
LinQ中Union合并查询:连接不同的集合,自动过滤相同项:延迟.即是将两个集合进行合并操作,过滤相同的项 var cities = (from p in mylinq.System_Places ...
- IDEA 2018 搭建 Spring MVC helloworld
转自https://segmentfault.com/a/1190000017248622 网上看了不少idea搭建SpringMVC Helloworld的例子,但是一个个试下来都没有成功.我把他们 ...
- Dynamic Property Wizard 添加类提示 ATL类只能添加到MFC EXE 和MFC规则DLL项目或完全支持ATL的项目 错误提示解决方式
在重新打开OPM项目添加ATL动态属性向导Dynamic Property Wizard提示错误 ATL类只能添加到MFC EXE 和MFC规则DLL项目或完全支持ATL的项目. 有效的解决方式,右键 ...
- 解决ViewPager与百度地图滑动冲突
一.问题描述 ViewPager中嵌套百度地图的时候会出现百度地图滑动冲突. 二.期望结果: 滑动地图的时候只有地图滑动,滑动其他区域可以切换viewpager. 三.解决方法 自定义viewpage ...
- 第07组 Beta冲刺(2/4)
队名:秃头小队 组长博客 作业博客 组长徐俊杰 过去两天完成的任务:学习了很多东西 Github签入记录 接下来的计划:继续学习 还剩下哪些任务:后端部分 燃尽图 遇到的困难:自己太菜了 收获和疑问: ...