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快捷键笔记的更多相关文章

  1. Android多线程源码学习笔记一:handler、looper、message、messageQueue

    最近在学习Android多线程相关知识的源码,现在把自己的笔记整理一下,写出来加深印象. Android多线程通讯的核心是handler.looper.message.messageQueue,这篇文 ...

  2. Android多线程操作sqlite(Sqlite解决database locked问题)

    参考http://blog.csdn.net/sdsxleon/article/details/18259973  很好 https://github.com/2point0/Android-Data ...

  3. Android多线程操作sqlite(Sqlite解决database locked问题)(2)使用事务处理的效果

    问题场景描述: 在页面中用到了ViewPager控件,ViewPager中的内容分别是两个ListView,两个ListView的数据都来自本地数据库(先从网络下载数据,然后更新本地数据库),在实际的 ...

  4. android 多线程

    本章讲述在android开发中,多线程的应用.多线程能够处理耗时的操作并优化程序的性能.本章主要介绍知识点,AsyncTask,Java线程池,ThreadPoolExecutor线程池类.本章案例只 ...

  5. Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)

    1.File类:对硬盘上的文件和目录进行操作的类.    File类是文件和目录路径名抽象表现形式  构造函数:        1) File(String pathname)       Creat ...

  6. Android(java)学习笔记216:多线程断点下载的原理(Android实现)

    之前在Android(java)学习笔记215中,我们从JavaSE的角度去实现了多线程断点下载,下面从Android角度实现这个断点下载: 1.新建一个Android工程: (1)其中我们先实现布局 ...

  7. Android(java)学习笔记110:Java中操作文件的类介绍(File + IO流)

    1.File类:对硬盘上的文件和目录进行操作的类.    File类是文件和目录路径名抽象表现形式  构造函数:        1) File(String pathname)       Creat ...

  8. Android(java)学习笔记159:多线程断点下载的原理(Android实现)

    之前在Android(java)学习笔记215中,我们从JavaSE的角度去实现了多线程断点下载,下面从Android角度实现这个断点下载: 1. 新建一个Android工程: (1)其中我们先实现布 ...

  9. 笔记||Pyhthon3进阶之多线程操作共享数据

    # 多线程操作共享数据--------------------------------------------------------------- # import threading# 使用锁# ...

随机推荐

  1. python pycharm错误集锦

    url:http://www.cnblogs.com/hinimix/p/8016859.html 1, this list creation could be rewritten as a list ...

  2. java查看线程的堆栈信息

    通过使用jps 命令获取需要监控的进程的pid,然后使用jstack pid 命令查看线程的堆栈信息. 通过jstack 命令可以获取当前进程的所有线程信息. 每个线程堆中信息中,都可以查看到线程ID ...

  3. numpy模块常用函数解析

    https://blog.csdn.net/lm_is_dc/article/details/81098805 numpy模块以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter note ...

  4. PostgreSQL体系架构与内存结构

    PostgreSQL体系架构 PostgreSQL的内存结构

  5. 两种Redis持久化原理的详解

    Redis为持久化提供了两种方式: RDB:在指定的时间间隔能对你的数据进行快照存储. AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据. 本文将通过下面内容的介 ...

  6. Excel如何输入负数

    一般红字发票很少开,以前都是单独把红字发票摘出来放到一行里,然后加减一下,前段时间有个客户因为普票无法报销,改要了专票,因为是电子发票,无法作废,开了张红字.虽然红字很少开,但是想着百度一下如何在ex ...

  7. oracle导入及导出dmp文件

    导出数据库步骤: exp 用户名/密码@实例名 file=导出的dmp文件存放路径(绝对路径) log=导出日志存放路径(建议记录log文件,方便后续核实数据是否完整导出和导入) 导入数据库步骤: 1 ...

  8. [LeetCode] 348. Design Tic-Tac-Toe 设计井字棋游戏

    Design a Tic-tac-toe game that is played between two players on a n x n grid. You may assume the fol ...

  9. [LeetCode] 360. Sort Transformed Array 排序转换后的数组

    Given a sorted array of integers nums and integer values a, b and c. Apply a function of the form f( ...

  10. 修改mysql自增字段的方法

    修改mysql自增字段的方法 修改 test_user 库 user 表 auto_increment为 10000(从10000开始递增) <pre>mysql> alter ta ...