Т.к многие примеры не работают вне контекста андроид приложения, было принято решение разбирать примеры kotlin в контексте андроид приложения. Создал минимальное приложение в андроид студио с mainactivity, которое имеет код
package com.example.socialkotlin
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.activity_main.*
import android.util.Log
// class SomeActivity : Activity(), AnkoLogger {
// private fun someMethod() {
// info("London is the capital of Great Britain")
// debug(5) // .toString() method will be executed
// warn(null) // "null" will be printed
// }
// }
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
Log.d("TAG", "----------------------message")
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
fab.setOnClickListener {
view -> Snackbar.make(
view,
"Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null
).show()
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.menu_main, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
return when (item.itemId) {
R.id.action_settings -> true
else -> super.onOptionsItemSelected(item)
}
}
}
Взял тестовый сорс из книги, немного его подрихтовал на запуск 1000 тредов. Запустил, меряю ps_mem -p pid и вижу, что потихонечку память процесса увеличивается. Это нормально или где-то тут протекает? :)
// Create a second thread.
class NewThread implements Runnable {
Thread t;
NewThread(String name) {
// Create a new, second thread
t = new Thread(this, name);
System.out.println("Child thread: " + t);
}
// This is the entry point for the second thread.
public void run() {
try {
// for (int i = 5; i > 0; i--) {
for (int i = 5;; i--) {
System.out.println(Thread.currentThread());
System.out.println("Child Thread: " + i);
Thread.sleep(500);
}
} catch (InterruptedException e) {
System.out.println("Child interrupted.");
}
System.out.println("Exiting child thread.");
}
}
class HelloWorld {
public static void main(String[] args) {
// NewThread nt = new NewThread(); // create a new thread
// nt.t.start(); // Start the thread
for(int x = 0; x <= 1000; x++) {
System.out.println("aaaa");
NewThread nt = new NewThread("some" + x); // create a new thread
nt.t.start(); // Start the thread
}
try {
for (int i = 5;; i--) {
System.out.println("Main Thread: " + i);
Thread.sleep(1000);
}
} catch (InterruptedException e) {
System.out.println("Main thread interrupted.");
}
System.out.println("Main thread exiting.");
}
}
Устроился на работу. У компании есть еще один кодер, который работает удаленно. Тот кто работал физически ушел в армию. Говорят: первый месяц 50% от ставки, чтобы типа разобраться с продуктом, потом в штатном режиме 100% ставки. Пожали руки. Работаем. В работе есть несколько задач ёмких, для решения которых нужно сделать определенный комплекс мер. Просто так они не закрываются.
Первый месяц выплачивают, второй месяц работаю выплачивают 50% от зарплаты(аванс). Наступает начало месяца - зарплаты нет. Спрашиваю - говорят будет 5 числа. 5 числа зарплаты нет :). Потом говорят, что моя эффективность неудовлетворительная, что «закрой таски все - мы выплатим зарплату». Коммиты с тем, что я делал - я предоставил. Все аргументы игнорят и говорят «закрой таски». Чтобы закрыть эти таски, нужно потратить 1-1.5 месяца. Вот такая история. Договора не было, официально не устроен. Теперь будем знать, что бывает и такое, лол.
Стандартная схема: нанимаем человека, первый месяц платим ему 20тыс. грн, второй месяц платим 20тыс. грн и шантажируем его, что пока он не закроет все таски - зарплаты не будет. Человек в панике за месяц закрывает таски(зарплату же хочется), ему платят деньги и говорят «прощай», а все мелкие таски будет закрывать кодер на удаленке(которому платят 15тыс. грн). Красота
Украина. Начинается. Работодатели начинают вещать о том, чтобы обрезать штату зарплату на 50%. Если мы все прогнёмся под это, то на этой зарплате и останемся. Чтобы вы были в курсе. Думаю в РФ ситуация будет такой же.